Re: [PATCH] net: sched: avoid duplicates in classes dump

2021-03-04 Thread patchwork-bot+netdevbpf
Hello:

This patch was applied to netdev/net.git (refs/heads/master):

On Thu, 4 Mar 2021 14:43:17 + you wrote:
> This is a follow up of commit ea3274695353 ("net: sched: avoid
> duplicates in qdisc dump") which has fixed the issue only for the qdisc
> dump.
> 
> The duplicate printing also occurs when dumping the classes via
>   tc class show dev eth0
> 
> [...]

Here is the summary with links:
  - net: sched: avoid duplicates in classes dump
https://git.kernel.org/netdev/net/c/bfc256056358

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html




Re: [PATCH] net: sched: avoid duplicates in classes dump

2021-03-04 Thread Cong Wang
On Thu, Mar 4, 2021 at 6:44 AM Maximilian Heyne  wrote:
>
> This is a follow up of commit ea3274695353 ("net: sched: avoid
> duplicates in qdisc dump") which has fixed the issue only for the qdisc
> dump.
>
> The duplicate printing also occurs when dumping the classes via
>   tc class show dev eth0
>
> Fixes: 59cc1f61f09c ("net: sched: convert qdisc linked list to hashtable")
> Signed-off-by: Maximilian Heyne 

Seems reasonable. If you can show the difference of tc class dump
before and after this patch in your changelog, it would be helpful to
understand the bug here.

Thanks.


[PATCH] net: sched: avoid duplicates in classes dump

2021-03-04 Thread Maximilian Heyne
This is a follow up of commit ea3274695353 ("net: sched: avoid
duplicates in qdisc dump") which has fixed the issue only for the qdisc
dump.

The duplicate printing also occurs when dumping the classes via
  tc class show dev eth0

Fixes: 59cc1f61f09c ("net: sched: convert qdisc linked list to hashtable")
Signed-off-by: Maximilian Heyne 
---
 net/sched/sch_api.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index e2e4353db8a7..f87d07736a14 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -2168,7 +2168,7 @@ static int tc_dump_tclass_qdisc(struct Qdisc *q, struct 
sk_buff *skb,
 
 static int tc_dump_tclass_root(struct Qdisc *root, struct sk_buff *skb,
   struct tcmsg *tcm, struct netlink_callback *cb,
-  int *t_p, int s_t)
+  int *t_p, int s_t, bool recur)
 {
struct Qdisc *q;
int b;
@@ -2179,7 +2179,7 @@ static int tc_dump_tclass_root(struct Qdisc *root, struct 
sk_buff *skb,
if (tc_dump_tclass_qdisc(root, skb, tcm, cb, t_p, s_t) < 0)
return -1;
 
-   if (!qdisc_dev(root))
+   if (!qdisc_dev(root) || !recur)
return 0;
 
if (tcm->tcm_parent) {
@@ -2214,13 +2214,13 @@ static int tc_dump_tclass(struct sk_buff *skb, struct 
netlink_callback *cb)
s_t = cb->args[0];
t = 0;
 
-   if (tc_dump_tclass_root(dev->qdisc, skb, tcm, cb, , s_t) < 0)
+   if (tc_dump_tclass_root(dev->qdisc, skb, tcm, cb, , s_t, true) < 0)
goto done;
 
dev_queue = dev_ingress_queue(dev);
if (dev_queue &&
tc_dump_tclass_root(dev_queue->qdisc_sleeping, skb, tcm, cb,
-   , s_t) < 0)
+   , s_t, false) < 0)
goto done;
 
 done:
-- 
2.16.6




Amazon Development Center Germany GmbH
Krausenstr. 38
10117 Berlin
Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss
Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B
Sitz: Berlin
Ust-ID: DE 289 237 879