[Codel] BQL support in Ethernet drivers (and Kathie Nichols and Van Jacobson's new AQM, codel)

Dave Taht dave.taht at gmail.com
Sun May 20 23:48:34 EDT 2012


Thx for the numbers!

Could you do a TCP_RR while under load from UDP_STREAM?

On Mon, May 21, 2012 at 1:31 AM, Tobias Diedrich
<ranma+openwrt at tdiedrich.de> wrote:
> Tobias Diedrich wrote:
>> Dave Taht wrote:
>> > In looking over the enormous stack of boards and drivers that openwrt
>> > supports, I see that many of the ethernet drivers don't yet support
>> > Linux 3.3's "Byte Queue Limits", which are discussed here:
>> >
>> > http://lwn.net/Articles/454390/
>> >
>> > It would be good if more did. They improve network performance in the
>> > general case enormously, particularly when a link is not connected at
>> > it's peak wire speed.
>> >
>> > *Adding* support for BQL to an ethernet driver is trivial, here's an
>> > example of how.
>>
>> I tried adding BQL to the ramips ethernet driver, however I found
>> some interesting behaviour while doing
>> "root at OpenWrt:~# netperf -l 120 -t UDP_STREAM -H myserver"
>>
>> It looks like the briding code still needs to implement this as well?
>>
>> netperf UDP_STREAM:
>> iface  limit_min   inflight  tx mbps  remote mbps  ping ms
>> eth0   0           ~15000    95.71    95.71        ~10ms
>> eth0   1000000     ~300000   177.98   23.28(*)     ~30ms
>> br0    0           ~15000    154.88   33.94(*)     ~120ms
>> br0    1000000     ~300000   170.92   25.57(*)     ~30ms
>>
>> (*) bwm-ng on the server showed ~100mbps incoming...
> [...]
>> Haven't tried codel yet...
>
> Turns out, it works nicely with codel, even with the bridge:
>
> netperf:  netperf -l 120 -t UDP_STREAM -H myserver
> fq_codel: tc qdisc add dev eth0 handle 1: root fq_codel target 5ms
>
> iface  eth0 qdisc  bql  inflight  tx mbps    sys time  ping ms
> eth0   pfifo_fast  no   n/a       182.98(*)  96.43s    ~30ms
> eth0   fq_codel    no   n/a       177.98(*)  96.09s    ~30ms
> eth0   pfifo_fast  yes  ~15000    95.71      42.73s    ~10ms
> eth0   fq_codel    yes  ~15000    95.19      51.52s    ~4ms
> br0    pfifo_fast  yes  ~15000    155.19(*)  94.24s    ~120ms
> br0    fq_codel    yes  ~15000    90.92      65.52s    ~4ms
>
> (*) 100mbit link after the switch, ifconfig eth0 shows no drops,
>    so I'm assuming they are getting dropped by the switch.
>
> --
> Tobias                                          PGP: http://8ef7ddba.uguu.de



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



More information about the Codel mailing list