[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20061129.173559.130238620.davem@davemloft.net>
Date: Wed, 29 Nov 2006 17:35:59 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: kaber@...sh.net
Cc: devik@....cz, netdev@...r.kernel.org
Subject: Re: [NET_SCHED 03/06]: Fix endless loops caused by inaccurate qlen
counters (part 1)
From: Patrick McHardy <kaber@...sh.net>
Date: Mon, 20 Nov 2006 14:08:41 +0100 (MET)
> [NET_SCHED]: Fix endless loops caused by inaccurate qlen counters (part 1)
>
> There are multiple problems related to qlen adjustment that can lead
> to an upper qdisc getting out of sync with the real number of packets
> queued, leading to endless dequeueing attempts by the upper layer code.
>
> All qdiscs must maintain an accurate q.qlen counter. There are basically
> two groups of operations affecting the qlen: operations that propagate
> down the tree (enqueue, dequeue, requeue, drop, reset) beginning at the
> root qdisc and operations only affecting a subtree or single qdisc
> (change, graft, delete class). Since qlen changes during operations from
> the second group don't propagate to ancestor qdiscs, their qlen values
> become desynchronized.
>
> This patch adds a function to propagate qlen changes up the qdisc tree,
> optionally calling a callback function to perform qdisc-internal
> maintenance when the child qdisc becomes empty. The follow-up patches
> will convert all qdiscs to use this function where necessary.
>
> Noticed by Timo Steinbach <tsteinbach@...aro.com>.
>
> Signed-off-by: Patrick McHardy <kaber@...sh.net>
Applied to net-2.6.20, thanks a lot.
-
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