Bufferbloat Is Still Being Fought In Linux Kernel, Another Big Improvement Queued

Written by Michael Larabel in Linux Networking on 5 May 2016 at 07:34 AM EDT. 13 Comments
LINUX NETWORKING
Bufferbloat is the excess buffering of packets resulting in high latency, jitter, and lower network throughput. There's been efforts to battle bufferbloat within the Linux kernel going back a long time while this week another new patch has surfaced.

A Phoronix reader pointed out to us a patch that's now been queued up in net-next for Linux 4.7 and could end up being back-ported to Linux stable releases.

The patch is from Eric Dumazet at Google. He explained of it, "fq_codel_drop() is quite expensive, as it does a linear scan of 4 KB of memory to find a fat flow. Once found, it drops the oldest packet of this flow. Instead of dropping a single packet, try to drop 50% of the backlog of this fat flow, with a configurable limit of 64 packets per round."

Dave Taht, one of the Linux developers who has long been fighting bufferbloat, commented on the mailing list about the success of the patch: "Thus far this batch drop patch is testing out beautifully. Under a 900Mbit flood going into 100Mbit on the pcengines apu2, cpu usage for ksoftirqd now doesn't crack 10%, where before (under pie,pfifo,fq_codel,cake & the prior fq_codel) it went to 88% and ultimately bad things happened, like losing routability. I've had it running for hours and I hardly notice it's there. Performance for the normal cc controlled and/or sparse flows is unaffected, aside from the uncontrolled flows eating their percentage of the link. Nice work. Thx. This should go into -stable."

Look for this "fq_codel: add batch ability to fq_codel_drop()" patch hopefully coming soon to a kernel near you.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week