Fq-codel vs cake at line rate?

OpenWrt defaults to fq-codel on all interfaces. Despite that, at the time we did it (2012), most (all?) non-x86 routers couldn't actually forward at 1gbit, and it rarely engaged (and when it did, it was mostly the fq part, in there, doing its job silently). My vision for it was it would (and did!) do a great job on managing interfaces running at a 10 or 100Mbit, and otherwise cost nothing to use and was thus a good default.

fq-codel found it's first intensive use in the sqm shapers, and later, wifi. Nowadays we are seeing devices with multiple interfaces that can, indeed, run at a gbit line rate, and this year 802.11ax, and 2.5Gbit ethernet are becoming more common. Managing that fast->slow transition to 1gbit or less, better, is what rfc7567 was all about.

So I have three questions. On your more modern hardware...

  1. In your production use, on ethernet, is fq-codel engaging? If a 'tc -s qdisc show' shows drop, or marks - the codel component is, reschedules or overlimits, fq is.

(please paste a result)

  1. What happens if you run cake at line rate instead of fq_codel?

'tc qdisc replace dev your_ethernet_interface root cake diffserv4 gso-split'

Do you run out of cpu? do you observe any difference? (see also: Qosify: new package for DSCP marking + cake )

  1. How many hardware queues are common on the newer higher end routers?
1 Like

Hi dave i'm not a fiber for the moment but i has a modern device belkin rt 3200 (e8450)

And use qosify,

Would you want make a test for you ?

The case that I'm trying to explore is where we have > 1gbit going into a gbit.

1 Like

I have recently acquired fiber. I have been running my x86 box before on DOCSIS and now on ETHERNET.

I have been running a modded layer of cake qos script with DSCP prio under a i5 cpu.

I've not gotten a chance to play with Qosify but it looks very interesting to me ...
If it ever comes off SNAPSHOT to live branch I'll def give it a try tho. Hopefully it gets a UI and has more documentation on everything and if it can run on ingress with out a qdisc call that would be amazing.

Cake is great and even CODEL still is good, infact I remember reading the dev of cake says to use CODEL as its better than cake or something like that words from the dev of cake I dont have the source.

I guess Dave would know, having his hands in both fq_codel's and cake's development :wink:
As far as I see it, the 'best' qdisc/aqm depends on the use case:
internet access router/gateway: cake
generic router/VM host: fq_codel
(TCP-heavy) server: fq

Sigh. I am NOT "the" dev of cake. Jon Morton was/ended up being the primary dev, with huge contributions from many others here like @moeller, and some amazing drive-by contributions from others, and ultimately polished up for the linux mainline by @tohojo .

In all honesty, I can no longer remember who "started" cake, where the name came from, or anything - it was a natural outgrowth of the observed problems we saw from the initial fq_codel deployments, that gradually got out of hand. The first post on the subject is here: https://lists.bufferbloat.net/pipermail/cake/2015-April/000896.html and it obviously had started long before that, and oy, did a whole lot of other needed features drop out of that list....

I'm getting old. Maybe @chromi remembers.


1 Like