Comment 11 for bug 940541

Revision history for this message
Dave Taht (dave-taht) wrote :

The bufferbloat project has been at the problem for a great deal of time now. As of Linux 3.6, a great deal of the bufferbloat problem on ethernet has been resolved, with the incorporation (and device driver support) of BQL (linux 3.3), fq_codel (linux 3.5), and TCP small queues (3.6)

At linux plumbers in august, there seemed to be consensus that one day fq_codel could replace pfifo_fast, but it needs a bit more work and testing in the field. Many of the core netdev people are running it, there are also tests going on within several large companies. Work on improving wifi further is beginning. So, seeking wider deployment, by default, will get us to where it could ultimately be turned on by default. Certainly the benefits of the code as it stands now are *quite* noticible under many workloads particularly on desktops and more than a few on servers.

Latency under load last year: http://www.teklibre.com/~d/bloat/pfifo_fast_vs_sfq_qfq_linear.png
Linux 3.6 PFIFO_FAST: https://github.com/tohojo/netperf-wrapper/blob/master/sample_plots/100m_pfifo_fast.png
Linux 3.6 FQ_CODEL: https://github.com/tohojo/netperf-wrapper/blob/master/sample_plots/100m_fq_codel.png

Kamal Mostafa, for example, did some testing at canonical earlier this year and described his reaction in a kernel meeting...

http://www.bufferbloat.net/news/38

I am maintaining a simple script that turns it on, that perhaps could be shipped by default for the desktop configuration of ubuntu.

https://github.com/dtaht/deBloat/blob/master/src/debloat.sh

Regardless I encourage people to try fq_codel out, run it day and day out, as we do, and see if they notice a difference. They will. Particularly gamers.

Some backing reading material for the work:

Van Jacobson's presentation on codel and fq_codel: http://recordings.conf.meetecho.com/Recordings/watch.jsp?recording=IETF84_TSVAREA&chapter=part_3
Linux Plumbers BQL: http://linuxplumbers.ubicast.tv/videos/byte-queue-limits/
Linux Plumbers fq_codel: http://linuxplumbers.ubicast.tv/videos/codel-and-fq_codel-fighting-the-delays/

TCP small queues in LWN: http://lwn.net/Articles/507065/

...

I note that one of my other "causes" at the moment, is that the enormous improvements in network performance require, as a base, BQL support in the underlying device driver. The majority of intel ethernet devices are BQL-enabled, arm is lacking...

...

For the ongoing work into fixing routers, and cpe, which suffer far worse than servers and desktops do - see the cerowrt project.