Bug #312

QoS/AQM holy grail much closer to achieved

Added by David Taht on Nov 28, 2011. Updated on Dec 1, 2011.
New Normal Dave Täht



There is a downside, but I’d like savor the above commit for a few hours at least.

This requires iproute 3.0 or later, QFQ in the kernel, probably needs BQL, and doesn’t
quite work well enough over the LFN for my taste… but it was quite awesome otherwise.


  • 70ms.png (image/png; 465.8 kiB) Dave Täht Nov 28, 2011


Updated by Dave Täht on Nov 28, 2011.
At sub 70 ms RTTs this does mildly better - 3.5mbit upload vs 2.8, which is close enough
to ‘benchmarker-proof’ for me. At the same time I have to retry this in the same
test enviroment as I was doing earlier…

< BIGQDISC="red min 1500 max 4500 probability 0.02 avpkt 800 limit 16000 burst 5 ecn"
> BIGQDISC="red min 3000 max 6000 probability 0.02 avpkt 800 limit 24000 burst 5 ecn"
Updated by Dave Täht on Nov 28, 2011.
Meh. I set machines to the desired 256 value rather than 8, and the script blows up… hopefully
just a bug. It takes forever to load without batch mode. With batch mode it’s 100x faster, but
has to feed from a 1.6 Mbyte file…
Updated by Dave Täht on Nov 28, 2011.
The biggest flaw in this is that you can accumulate one heck of a lot of acks before red even thinks about starting to maybe kick in, so downloads can starve uploads, and/or acks get seriously delayed in queue while FQ is happening elsewhere.
Updated by Dave Täht on Nov 30, 2011.
I rewrote the qdisc generation script from shell to C and that portion of it completes in ms now rather than minutes.

the tc parser does pretty well in bulk mode, but that’s the bottleneck now.

Updated by Dave Täht on Dec 1, 2011.
And I recently discovered that GSO on the e1000e was enabled by default, even at 100Mbit and below.

TSO gets disabled. Not GSO.

Updated by Dave Täht on Dec 1, 2011.
Sigh. What this does to an algorithm that kind of expects 1500 byte
packets, at MOST, or a qdisc that measures things in bytes, is looking
rather ugly.

commit 212b573f5552c60265da721ff9ce32e3462a2cdd
Author: Michał Mirosław mirq-linux@rere.qmqm.pl
Date: Tue Feb 15 16:59:16 2011 +0000

ethtool: enable GSO and GRO by default

Signed-off-by: Michał Mirosław mirq-linux@rere.qmqm.pl
Signed-off-by: David S. Miller davem@davemloft.net

This is a static export of the original bufferbloat.net issue database. As such, no further commenting is possible; the information is solely here for archival purposes.
RSS feed

Recent Updates

Oct 20, 2023 Wiki page
What Can I Do About Bufferbloat?
Dec 3, 2022 Wiki page
Codel Wiki
Jun 11, 2022 Wiki page
More about Bufferbloat
Jun 11, 2022 Wiki page
Tests for Bufferbloat
Dec 7, 2021 Wiki page
Getting SQM Running Right

Find us elsewhere

Bufferbloat Mailing Lists
#bufferbloat on Twitter
Google+ group
Archived Bufferbloat pages from the Wayback Machine


Comcast Research Innovation Fund
Nlnet Foundation
Shuttleworth Foundation

Bufferbloat Related Projects

OpenWrt Project
Congestion Control Blog
Flent Network Test Suite
The Cake shaper
CeroWrt (where it all started)

Network Performance Related Resources

Jim Gettys' Blog - The chairman of the Fjord
Toke's Blog - Karlstad University's work on bloat
Voip Users Conference - Weekly Videoconference mostly about voip
Candelatech - A wifi testing company that "gets it".