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

Rick Jones rick.jones2 at hp.com
Mon May 21 13:24:39 EDT 2012


On 05/20/2012 08:48 PM, Dave Taht wrote:
> Thx for the numbers!
>
> Could you do a TCP_RR while under load from UDP_STREAM?

If you want to generate pretty pictures while doing so, you can probably 
tweak http://www.netperf.org/svn/netperf2/trunk/doc/examples/bloat.sh

rick jones

>
> 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
>
>
>




More information about the Codel mailing list