[Codel] [PATCH net-next] codel: use Newton method instead of sqrt() and divides

Dave Taht dave.taht at gmail.com
Mon May 14 11:05:49 EDT 2012


On Mon, May 14, 2012 at 4:34 AM, Roger Jørgensen <rogerj at gmail.com> wrote:
> On Mon, May 14, 2012 at 10:23 AM, Eric Dumazet <eric.dumazet at gmail.com> wrote:
>> On Mon, 2012-05-14 at 08:51 +0200, Roger Jørgensen wrote:
>>
>>> could you pass me the script for setting that up, got nowhere with any
>>> of the previous... will try the same on some 10GigE servers over v6...
>>
>> If multi-queue, you probably could use :
>>
>> EST="est 1sec 4sec"
>> TXQUEUES=24
>>
>> DEV=eth7
>> # ethtool -K $DEV tso off gso off
>> tc qdisc del dev $DEV root 2>/dev/null
>> tc qdisc add dev $DEV root handle 1: mq
>>
>> for i in `seq 1 $TXQUEUES`
>> do
>>  hexa=$(printf %02x $i)
>>  tc qdisc add dev $DEV parent 1:$hexa fq_codel
>> done
>
> I did it much simpler, with nothing changed I get  2.42Gbits/sec
> through my range of VMs.
>
>
>                         rtt min    avg     max     mdev    bw test showing
> plain                  1,037      2,327  5,123   0,558    2,4Gbps
> TBF                   1,529      2,87   8,275   0,547    1,5Gbps
> fq_codel +ecn     0,907     1,82    5,214   0,547    1,4Gbps
> fq_codel noec     0,905     1,913   4,95    0,586   1,4Gbps


I find your results mildly puzzling. certainly your max rtt in the no
ecn case is pleasing,
but your max throughput in all three AQM cases seems to be rather
severely capped.

Secondly,
I note that there was an infinite cwr bug related to ecn recently
fixed in the kernel.



>
>
> regular ping is like this then
>
> --- 2a00:d740:110:8000::a ping statistics ---
> 500 packets transmitted, 500 received, 0% packet loss, time 499742ms
> rtt min/avg/max/mdev = 1.037/2.327/5.123/0.558 ms
>
>
>
> when I add fq_codel to the mix:
> root at codel-core:~# tc  qdisc show
> ...
> qdisc fq_codel 804b: dev eth1 root refcnt 2 limit 5p flows 5 quantum
> 1514 target 499us interval 5.0ms ecn
> qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap  1 2 2 2 1
> 2 0 0 1 1 1 1 1 1 1 1
>
>
> --- 2a00:d740:110:8000::a ping statistics ---
> 500 packets transmitted, 500 received, 0% packet loss, time 499770ms
> rtt min/avg/max/mdev = 0.907/1.820/5.214/0.547 ms
>
>
> fq_codel without ecn
> root at codel-core:~# tc  qdisc show
> ...
> qdisc fq_codel 804c: dev eth1 root refcnt 2 limit 5p flows 5 quantum
> 1514 target 499us interval 5.0ms
> qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap  1 2 2 2 1
> 2 0 0 1 1 1 1 1 1 1 1
>
> --- 2a00:d740:110:8000::a ping statistics ---
> 500 packets transmitted, 500 received, 0% packet loss, time 499763ms
> rtt min/avg/max/mdev = 0.905/1.913/4.950/0.586 ms
>
>
>
>
>
> using tbf,
> root at codel-core:~# tc qdisc show
> ...
> qdisc tbf 804a: dev eth1 root refcnt 2 rate 1560Mbit burst 20280b lat 5.0ms
> qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0
>
> --- 2a00:d740:110:8000::a ping statistics ---
> 500 packets transmitted, 500 received, 0% packet loss, time 499746ms
> rtt min/avg/max/mdev = 1.529/2.879/7.275/0.547 ms
>
>
>
> --
>
> Roger Jorgensen           | ROJO9-RIPE
> rogerj at gmail.com          | - IPv6 is The Key!
> http://www.jorgensen.no   | roger at jorgensen.no



-- 
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
http://www.bufferbloat.net



More information about the Codel mailing list