aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/Kconfig
diff options
context:
space:
mode:
authorstephen hemminger <shemminger@vyatta.com>2011-02-02 15:21:10 +0000
committerDavid S. Miller <davem@davemloft.net>2011-02-02 20:52:42 -0800
commit45e144339ac59971eb44be32e1282760aaabe861 (patch)
treeb9d93acb2c1bb505d3b6facc426d307c59dc63a4 /net/sched/Kconfig
parentsfq: deadlock in error path (diff)
downloadlinux-dev-45e144339ac59971eb44be32e1282760aaabe861.tar.xz
linux-dev-45e144339ac59971eb44be32e1282760aaabe861.zip
sched: CHOKe flow scheduler
CHOKe ("CHOose and Kill" or "CHOose and Keep") is an alternative packet scheduler based on the Random Exponential Drop (RED) algorithm. The core idea is: For every packet arrival: Calculate Qave if (Qave < minth) Queue the new packet else Select randomly a packet from the queue if (both packets from same flow) then Drop both the packets else if (Qave > maxth) Drop packet else Admit packet with proability p (same as RED) See also: Rong Pan, Balaji Prabhakar, Konstantinos Psounis, "CHOKe: a stateless active queue management scheme for approximating fair bandwidth allocation", Proceeding of INFOCOM'2000, March 2000. Help from: Eric Dumazet <eric.dumazet@gmail.com> Patrick McHardy <kaber@trash.net> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/Kconfig')
-rw-r--r--net/sched/Kconfig11
1 files changed, 11 insertions, 0 deletions
diff --git a/net/sched/Kconfig b/net/sched/Kconfig
index e318f458713e..8c19b6e3201e 100644
--- a/net/sched/Kconfig
+++ b/net/sched/Kconfig
@@ -217,6 +217,17 @@ config NET_SCH_MQPRIO
If unsure, say N.
+config NET_SCH_CHOKE
+ tristate "CHOose and Keep responsive flow scheduler (CHOKE)"
+ help
+ Say Y here if you want to use the CHOKe packet scheduler (CHOose
+ and Keep for responsive flows, CHOose and Kill for unresponsive
+ flows). This is a variation of RED which trys to penalize flows
+ that monopolize the queue.
+
+ To compile this code as a module, choose M here: the
+ module will be called sch_choke.
+
config NET_SCH_INGRESS
tristate "Ingress Qdisc"
depends on NET_CLS_ACT