df1c7d9138eafd5b96e81040b0c1475b6d73d158 |
|
11-May-2015 |
Eric Dumazet <edumazet@google.com> |
codel: add ce_threshold support to codel & fc_codel codel & fq_codel packet schedulers are now able to have a threshold for CE marking packets, regardless of the drop/nodrop decision taken by CoDel. This is particularly useful for dctcp and variants, that do not use traditional ECN. Note that fq_codel users would have to specify noecn if ce_threshold is used, otherwise results would be not very interesting, as ecn is default on for fq_codel. $ tc -s qdisc show dev eth1 qdisc codel 8002: root refcnt 45 limit 1000p target 5.0ms ce_threshold 1.0ms interval 100.0ms Sent 4908469888317 bytes 3351813967 pkt (dropped 0, overlimits 0 requeues 21624365) rate 37671Mbit 3231836pps backlog 4904740b 250p requeues 21624365 count 0 lastcount 0 ldelay 1.1ms drop_next 0us maxpacket 68130 ecn_mark 0 drop_overlimit 0 ce_mark 410861803 Signed-off-by: Eric Dumazet <edumazet@google.com>
/external/iproute2/tc/q_codel.c
|
50a3ec3c46b360f9e4f0740932dbaa2542cbe678 |
|
24-May-2012 |
Vijay Subramanian <subramanian.vijay@gmail.com> |
tc-codel: Update usage text codel can take 'noecn' as an option. This also makes it consistent with the manpage. Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>
/external/iproute2/tc/q_codel.c
|
185d88f99b16accb05add11bdc7b3ca6c12dfac0 |
|
10-May-2012 |
Eric Dumazet <edumazet@google.com> |
tc_codel: Controlled Delay AQM An implementation of CoDel AQM, from Kathleen Nichols and Van Jacobson. http://queue.acm.org/detail.cfm?id=2209336 This AQM main input is no longer queue size in bytes or packets, but the delay packets stay in (FIFO) queue. As we don't have infinite memory, we still can drop packets in enqueue() in case of massive load, but mean of CoDel is to drop packets in dequeue(), using a control law based on two simple parameters : target : target sojourn time (default 5ms) interval : width of moving time window (default 100ms) Selected packets are dropped, unless ECN is enabled and packets can get ECN mark instead. Usage: tc qdisc ... codel [ limit PACKETS ] [ target TIME ] [ interval TIME ] [ ecn ] qdisc codel 10: parent 1:1 limit 2000p target 3.0ms interval 60.0ms ecn Sent 13347099587 bytes 8815805 pkt (dropped 0, overlimits 0 requeues 0) rate 202365Kbit 16708pps backlog 113550b 75p requeues 0 count 116 lastcount 98 ldelay 4.3ms dropping drop_next 816us maxpacket 1514 ecn_mark 84399 drop_overlimit 0 CoDel must be seen as a base module, and should be used keeping in mind there is still a FIFO queue. So a typical setup will probably need a hierarchy of several qdiscs and packet classifiers to be able to meet whatever constraints a user might have. One possible example would be to use fq_codel, which combines Fair Queueing and CoDel, in replacement of sfq / sfq_red. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Dave Taht <dave.taht@bufferbloat.net>
/external/iproute2/tc/q_codel.c
|