[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1312003362.2873.54.camel@edumazet-laptop>
Date: Sat, 30 Jul 2011 07:22:42 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: Patrick McHardy <kaber@...sh.net>,
David Miller <davem@...emloft.net>
Cc: Michal Soltys <soltys@....info>,
Andrew Morton <akpm@...ux-foundation.org>,
netdev@...r.kernel.org, bugme-daemon@...zilla.kernel.org,
Jamal Hadi Salim <hadi@...erus.ca>, lucas.bocchi@...il.com,
631945@...s.debian.org, 00bormoj@...il.com,
fdelawarde@...elessmundi.com
Subject: Re: [Bugme-new] [Bug 39372] New: Problems with HFSC Scheduler
Le vendredi 29 juillet 2011 à 16:11 +0200, Patrick McHardy a écrit :
> Yeah, that seems to be the correct fix, thanks for looking into this.
Thanks Patrick, here is the official patch submission then ;)
[PATCH] sch_sfq: fix sfq_enqueue()
commit 8efa88540635 (sch_sfq: avoid giving spurious NET_XMIT_CN signals)
forgot to call qdisc_tree_decrease_qlen() to signal upper levels that a
packet (from another flow) was dropped, leading to various problems.
With help from Michal Soltys and Michal Pokrywka, who did a bisection.
Bugzilla ref: https://bugzilla.kernel.org/show_bug.cgi?id=39372
Debian ref: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=631945
Reported-by: Lucas Bocchi <lucas.bocchi@...il.com>
Reported-and-bisected-by: Michal Pokrywka <wolfmoon@...pl>
Signed-off-by: Eric Dumazet <eric.dumazet@...il.com>
CC: Michal Soltys <soltys@....info>
Acked-by: Patrick McHardy <kaber@...sh.net>
---
net/sched/sch_sfq.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c
index 4536ee6..2a2d287 100644
--- a/net/sched/sch_sfq.c
+++ b/net/sched/sch_sfq.c
@@ -410,7 +410,12 @@ sfq_enqueue(struct sk_buff *skb, struct Qdisc *sch)
/* Return Congestion Notification only if we dropped a packet
* from this flow.
*/
- return (qlen != slot->qlen) ? NET_XMIT_CN : NET_XMIT_SUCCESS;
+ if (qlen != slot->qlen)
+ return NET_XMIT_CN;
+
+ /* As we dropped a packet, better let upper stack know this */
+ qdisc_tree_decrease_qlen(sch, 1);
+ return NET_XMIT_SUCCESS;
}
static struct sk_buff *
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists