[Bloat] setting queue depth on tail drop configurations of pfifo_fast
Bill Ver Steeg (versteb)
versteb at cisco.com
Fri Mar 27 17:45:11 EDT 2015
I am looking into how Adaptive Bitrate video algorithms interact with the various queue management schemes. I have been using the netperf and netperf wrapper tools, along with the macros to set the links states (thanks Toke and Dave T). I am using HTB rather than BQL, which may have something to do with the issues below. I am getting some interesting ABR results, which I will share in detail with the group once I write them up.
I need to set the transmit queue length of my Ubuntu ethernet path while running tests against the legacy pfifo_fast (tail drop) algorithm. The default value is 1000 packets, which boils down to 1.5 MBytes. At 100 Mbps, this gives me a 120ms tail drop buffer, which is big, but somewhat reasonable. When I then run tests at 10 Mbps, the buffer becomes a 1.2 second bloaty buffer. When I run tests at 4 Mbps, the buffer becomes a 3 second extra-bloaty buffer. This gives me some very distinct ABR results, which I am looking into in some detail. I do want to try a few more delay values for tail drop at 4 Mbps.
https://www.bufferbloat.net/projects/codel/wiki/Best_practices_for_benchmarking_Codel_and_FQ_Codel says to set txqueuelen to the desired size, which makes sense. I have tried several ways to do this on Ubuntu, with no glory. The way that seems it should have worked was "ifconfig eth8 txqueuelen 100". When I then check the txqueuelen using ifconfig, it looks correct. However, the delay measurements still stay up near 3 seconds under load. When I check the queue depth using "tc -s -d qdisc ls dev ifb_eth8", it shows the very large backlog in pfifo_fast under load.
So, has anybody recently changed the ethernet/HTB transmit packet queue size for pfifo_fast in Ubuntu? If so, any pointers? I will also try to move over to BQL and see if that works better than HTB...... I am not sure that my ethernet drivers have BQL support though, as they complain when I try to load it as the queue discipline.
Thanks in advance
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Bloat