* [Cake] CAKE-MQ merged to OpenWrt 25.12 today (February 15)
@ 2026-02-15 17:42 Frantisek Borsik
2026-02-17 6:10 ` [Cake] " dave seddon
0 siblings, 1 reply; 5+ messages in thread
From: Frantisek Borsik @ 2026-02-15 17:42 UTC (permalink / raw)
To: Cake List, codel, bloat, Jeremy Austin via Rpm, Make-Wifi-fast
https://forum.openwrt.org/t/cake-mq-backport-of-multi-core-capable-cake-implementation-to-25-12-branch/246349/37
https://github.com/openwrt/packages/pull/28569
All the best,
Frank
Frantisek (Frank) Borsik
*In loving memory of Dave Täht: *1965-2025
https://libreqos.io/2025/04/01/in-loving-memory-of-dave/
https://www.linkedin.com/in/frantisekborsik
Signal, Telegram, WhatsApp: +421919416714
iMessage, mobile: +420775230885
Skype: casioa5302ca
frantisek.borsik@gmail.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Cake] Re: CAKE-MQ merged to OpenWrt 25.12 today (February 15)
2026-02-15 17:42 [Cake] CAKE-MQ merged to OpenWrt 25.12 today (February 15) Frantisek Borsik
@ 2026-02-17 6:10 ` dave seddon
2026-02-17 6:41 ` [Cake] Re: [Bloat] " Stephen Hemminger
2026-02-17 13:23 ` Toke Høiland-Jørgensen
0 siblings, 2 replies; 5+ messages in thread
From: dave seddon @ 2026-02-17 6:10 UTC (permalink / raw)
To: Frantisek Borsik
Cc: Cake List, codel, bloat, Jeremy Austin via Rpm, Make-Wifi-fast,
ryan
Woot woot!
Thanks for the mq-cake patches. !
I got them working on NixOS 6.12 ( and next-net patches on 6.18.8 )
[das@l2:~/nixos/desktop/l2/mq-cake-orchestrator]$ uname -a
Linux l2 6.12.68 #1-NixOS SMP PREEMPT_DYNAMIC Fri Jan 30 09:28:49 UTC
2026 x86_64 GNU/Linux
I'm currently setting up a load-testing harness. The idea will be to
generate MANY 5-tuple flows to really stress out the qdiscs
Early results, but they look great!
[das@l2:~/nixos/desktop/l2/mq-cake-orchestrator]$ sudo
./mq-cake-orchestrator --config config-test.yaml
mq-cake-orchestrator starting...
Config: 1 tools, 3 qdiscs, 2 flow counts
=== Pre-flight Checks ===
Pre-flight: namespaces exist... OK
Pre-flight: interfaces present... OK
Pre-flight: forwarding enabled... OK
Pre-flight: end-to-end ping... OK
Pre-flight: tools available... OK
Pre-flight: baseline latency... OK
=== Pre-flight Complete ===
Running 6 test points
[1/6] qdisc=fq_codel flows=1 tool=iperf2
Switching qdisc to fq_codel...
Throughput: 9.41 Gbps
[2/6] qdisc=fq_codel flows=10 tool=iperf2
Throughput: 9.43 Gbps
[3/6] qdisc=cake flows=1 tool=iperf2
Switching qdisc to cake...
Throughput: 6.93 Gbps
[4/6] qdisc=cake flows=10 tool=iperf2
Throughput: 4.37 Gbps <---- cake
[5/6] qdisc=mq-cake flows=1 tool=iperf2
Switching qdisc to mq-cake...
Throughput: 7.17 Gbps
[6/6] qdisc=mq-cake flows=10 tool=iperf2
Throughput: 9.44 Gbps <-----
mq-cake ... Actually, that's interesting. higher than fq_codel
=== Test Complete ===
Completed 6 test points
Wrote /tmp/mq-cake-results/results-20260216-220443.json
Wrote /tmp/mq-cake-results/results-20260216-220443.csv
Results saved to /tmp/mq-cake-results
Shutdown complete
[das@l2:~/nixos/desktop/l2/mq-cake-orchestrator]$
I'm using some intel cards, which I've adjusted to x8 queues each
[das@l2:~/nixos/desktop/l2/mq-cake-orchestrator]$ lspci | grep -i eth
| grep -i intel
23:00.0 Ethernet controller: Intel Corporation Ethernet Controller
X710 for 10GbE SFP+ (rev 01)
23:00.1 Ethernet controller: Intel Corporation Ethernet Controller
X710 for 10GbE SFP+ (rev 01)
42:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit
SFI/SFP+ Network Connection (rev 01)
42:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit
SFI/SFP+ Network Connection (rev 01)
On Sun, Feb 15, 2026 at 9:38 AM Frantisek Borsik
<frantisek.borsik@gmail.com> wrote:
>
> https://forum.openwrt.org/t/cake-mq-backport-of-multi-core-capable-cake-implementation-to-25-12-branch/246349/37
>
> https://github.com/openwrt/packages/pull/28569
>
> All the best,
>
> Frank
>
> Frantisek (Frank) Borsik
>
>
> *In loving memory of Dave Täht: *1965-2025
>
> https://libreqos.io/2025/04/01/in-loving-memory-of-dave/
>
>
> https://www.linkedin.com/in/frantisekborsik
>
> Signal, Telegram, WhatsApp: +421919416714
>
> iMessage, mobile: +420775230885
>
> Skype: casioa5302ca
>
> frantisek.borsik@gmail.com
> _______________________________________________
> Cake mailing list -- cake@lists.bufferbloat.net
> To unsubscribe send an email to cake-leave@lists.bufferbloat.net
--
Regards,
Dave Seddon
+1 415 857 5102
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Cake] Re: [Bloat] Re: CAKE-MQ merged to OpenWrt 25.12 today (February 15)
2026-02-17 6:10 ` [Cake] " dave seddon
@ 2026-02-17 6:41 ` Stephen Hemminger
2026-02-17 13:23 ` Toke Høiland-Jørgensen
1 sibling, 0 replies; 5+ messages in thread
From: Stephen Hemminger @ 2026-02-17 6:41 UTC (permalink / raw)
To: dave seddon
Cc: Frantisek Borsik, Cake List, codel, bloat, Jeremy Austin via Rpm,
Make-Wifi-fast, ryan
On Mon, 16 Feb 2026 22:10:31 -0800
dave seddon <dave.seddon.ca@gmail.com> wrote:
> Woot woot!
>
> Thanks for the mq-cake patches. !
>
> I got them working on NixOS 6.12 ( and next-net patches on 6.18.8 )
>
> [das@l2:~/nixos/desktop/l2/mq-cake-orchestrator]$ uname -a
> Linux l2 6.12.68 #1-NixOS SMP PREEMPT_DYNAMIC Fri Jan 30 09:28:49 UTC
> 2026 x86_64 GNU/Linux
>
>
> I'm currently setting up a load-testing harness. The idea will be to
> generate MANY 5-tuple flows to really stress out the qdiscs
>
> Early results, but they look great!
How fast is the CPU, because on current Arm Cortex-A53 cake is cpu
limited and max's out around 500Mbps but can do fq-codel at 900.
Could be fixed by tuning?
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Cake] Re: [Bloat] Re: CAKE-MQ merged to OpenWrt 25.12 today (February 15)
2026-02-17 6:10 ` [Cake] " dave seddon
2026-02-17 6:41 ` [Cake] Re: [Bloat] " Stephen Hemminger
@ 2026-02-17 13:23 ` Toke Høiland-Jørgensen
2026-02-17 14:34 ` Stephen Hemminger
1 sibling, 1 reply; 5+ messages in thread
From: Toke Høiland-Jørgensen @ 2026-02-17 13:23 UTC (permalink / raw)
To: dave seddon, Frantisek Borsik
Cc: Cake List, codel, bloat, Jeremy Austin via Rpm, Make-Wifi-fast,
ryan
dave seddon <dave.seddon.ca@gmail.com> writes:
> === Pre-flight Complete ===
> Running 6 test points
>
> [1/6] qdisc=fq_codel flows=1 tool=iperf2
> Switching qdisc to fq_codel...
> Throughput: 9.41 Gbps
> [2/6] qdisc=fq_codel flows=10 tool=iperf2
> Throughput: 9.43 Gbps
> [3/6] qdisc=cake flows=1 tool=iperf2
> Switching qdisc to cake...
> Throughput: 6.93 Gbps
> [4/6] qdisc=cake flows=10 tool=iperf2
> Throughput: 4.37 Gbps <---- cake
> [5/6] qdisc=mq-cake flows=1 tool=iperf2
> Switching qdisc to mq-cake...
> Throughput: 7.17 Gbps
> [6/6] qdisc=mq-cake flows=10 tool=iperf2
> Throughput: 9.44 Gbps <-----
> mq-cake ... Actually, that's interesting. higher than fq_codel
Are you running fq_codel as the root qdisc? Because in that case you're
running through the single qdisc lock, which could explain the
difference. Try running separate fq_codel instances beneath an 'mq'
qdisc as the root.
Also, if you're not setting a shaping rate, cake_mq is basically the
same as just installing an mq qdisc at the root and having separate cake
instances beneath that. So to test the multi-core shaper algorithm
you'll need to set a rate ('bandwidth' parameter).
-Toke
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Cake] Re: [Bloat] Re: CAKE-MQ merged to OpenWrt 25.12 today (February 15)
2026-02-17 13:23 ` Toke Høiland-Jørgensen
@ 2026-02-17 14:34 ` Stephen Hemminger
0 siblings, 0 replies; 5+ messages in thread
From: Stephen Hemminger @ 2026-02-17 14:34 UTC (permalink / raw)
To: Toke Høiland-Jørgensen via Cake
Cc: Toke Høiland-Jørgensen, dave seddon, Frantisek Borsik,
codel, bloat, Jeremy Austin via Rpm, Make-Wifi-fast, ryan
On Tue, 17 Feb 2026 14:23:52 +0100
Toke Høiland-Jørgensen via Cake <cake@lists.bufferbloat.net> wrote:
> dave seddon <dave.seddon.ca@gmail.com> writes:
>
> > === Pre-flight Complete ===
> > Running 6 test points
> >
> > [1/6] qdisc=fq_codel flows=1 tool=iperf2
> > Switching qdisc to fq_codel...
> > Throughput: 9.41 Gbps
> > [2/6] qdisc=fq_codel flows=10 tool=iperf2
> > Throughput: 9.43 Gbps
> > [3/6] qdisc=cake flows=1 tool=iperf2
> > Switching qdisc to cake...
> > Throughput: 6.93 Gbps
> > [4/6] qdisc=cake flows=10 tool=iperf2
> > Throughput: 4.37 Gbps <---- cake
> > [5/6] qdisc=mq-cake flows=1 tool=iperf2
> > Switching qdisc to mq-cake...
> > Throughput: 7.17 Gbps
> > [6/6] qdisc=mq-cake flows=10 tool=iperf2
> > Throughput: 9.44 Gbps <-----
> > mq-cake ... Actually, that's interesting. higher than fq_codel
>
> Are you running fq_codel as the root qdisc? Because in that case you're
> running through the single qdisc lock, which could explain the
> difference. Try running separate fq_codel instances beneath an 'mq'
> qdisc as the root.
>
> Also, if you're not setting a shaping rate, cake_mq is basically the
> same as just installing an mq qdisc at the root and having separate cake
> instances beneath that. So to test the multi-core shaper algorithm
> you'll need to set a rate ('bandwidth' parameter).
>
This is what the OpenWrt SQM scripts seem to favor.
I probably need to tune the adaption overhead
# tc qdisc show dev wan
qdisc htb 1: root refcnt 2 r2q 10 default 0x12 direct_packets_stat 0 direct_qlen 1000
qdisc fq_codel 120: parent 1:12 limit 1001p flows 1024 quantum 300 target 5ms interval 100ms memory_limit 4Mb drop_batch 64
qdisc fq_codel 130: parent 1:13 limit 1001p flows 1024 quantum 300 target 5ms interval 100ms memory_limit 4Mb drop_batch 64
qdisc fq_codel 110: parent 1:11 limit 1001p flows 1024 quantum 300 target 5ms interval 100ms memory_limit 4Mb drop_batch 64
It is dumb that in US it is standard to offer 1G down and 10M up!
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-02-17 14:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-15 17:42 [Cake] CAKE-MQ merged to OpenWrt 25.12 today (February 15) Frantisek Borsik
2026-02-17 6:10 ` [Cake] " dave seddon
2026-02-17 6:41 ` [Cake] Re: [Bloat] " Stephen Hemminger
2026-02-17 13:23 ` Toke Høiland-Jørgensen
2026-02-17 14:34 ` Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox