aboutsummaryrefslogtreecommitdiff
path: root/Kbuild
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2011-12-01 11:06:34 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2011-12-09 08:56:09 -0800
commit50d224d483a7dbecf84beffff9f815ac104ee5e8 (patch)
treeab4cc29d48f9baab180ef6d49c59d8606035db59 /Kbuild
parent4851c6a079350393f4a9219878e699845412bace (diff)
sch_red: fix red_change
[ Upstream commit 1ee5fa1e9970a16036e37c7b9d5ce81c778252fc ] Le mercredi 30 novembre 2011 à 14:36 -0800, Stephen Hemminger a écrit : > (Almost) nobody uses RED because they can't figure it out. > According to Wikipedia, VJ says that: > "there are not one, but two bugs in classic RED." RED is useful for high throughput routers, I doubt many linux machines act as such devices. I was considering adding Adaptative RED (Sally Floyd, Ramakrishna Gummadi, Scott Shender), August 2001 In this version, maxp is dynamic (from 1% to 50%), and user only have to setup min_th (target average queue size) (max_th and wq (burst in linux RED) are automatically setup) By the way it seems we have a small bug in red_change() if (skb_queue_empty(&sch->q)) red_end_of_idle_period(&q->parms); First, if queue is empty, we should call red_start_of_idle_period(&q->parms); Second, since we dont use anymore sch->q, but q->qdisc, the test is meaningless. Oh well... [PATCH] sch_red: fix red_change() Now RED is classful, we must check q->qdisc->q.qlen, and if queue is empty, we start an idle period, not end it. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'Kbuild')
0 files changed, 0 insertions, 0 deletions