Fq_codel with simplest_tbf outperforming cake with piece_of_cake

That seems to be a dual core 880 MHz 1004KEc CPU, that is a bit on the low side... you might be able to gain a bit more throughput by placing things deliberately between the two cores, but that is about what you will get with cake, sorry.

But for single tier shaping fq_codel + simplest_tbf isn't really worse than cake, so...

+1; we all can agree that this would be nice, but that is not likely to happen.

Yes, it's just on openwrt 19, it could actually reached 120-140mbps with piece of cake, speed set to 150mbps but on openwrt 22.03 it could only attain to 70-80mbps so definitely sqm is better on 19 not on 21-22. One of the reason why I upgraded to this latest version is because of kernel panick I experienced on 19 something like warning cpu xxx but with this version I could no longer experience the issue so yeah hopefully sqm will be optimized in the future version. For now, I should stick with fqm_codel + simplest_tbf + software offloading to get the desired result.

And oh one more thing, just for clarification is this normal that during sqm testing while htop is running I noticed that out of 4 threads only 1 thread is maxing out?

Maybe, the core of cake's processing (the traffic shaper component) is required to run on a single core (per direction) if that is the same core doing all other processing like interuppt, wifi, you name it, than you see a lower limit in shaper throughput, Maybe try to install and enable irqbalance or receive packet steering. Although receive packet steering seems to be optimized for >> 2 cores, as it tries to move the qdisc processing to cores not busy with hardware interrupt processing for the NIC and on a dual core CPU this can push both ingress and egress qdisc on the second core where they interfere with each other.

3 Likes

I see... I'm gonna try this later. Thank you very much.

@anon89577378 just registered to say "Thank you" for this golden nugget. Even tho it was not planning on utilizing SQM, I have set up Xiaomi Mi 4A Giga edition with openwrt 22.03.2 and used fq_codel and simplest_tbf and i can see good results (high speeds, good latency). Yes, the speeds have dropped about 20% however that is fair trade-off to me plus i dont really think MT7621AT can really do more, which is fine.

Will experiment more but it looks good so far (about 20-30% load on 2 or all threads when testing). I have configured this Xiaomi Mi 4A Giga router as my main one today and it covers my whole single story home (about 1050 sqaure feet). For $25-35 device, it is quite good.

I was using cake till few months back on r7800. Cpu idle % drops to 30-35 when i run a speedtest for 120/120 mbps line. Website loading use to be snappy in older openwrt versions but no more even with irqbalance and packet steering enabled.

simplest_tbf is good with cpu idle % dropping to max 71 on latest master build. Along with fq_codel and WiFi optimisations, it is close to matching cake's snappiness.