* [Rpm] CAKE-MQ merged to OpenWrt 25.12 today (February 15)
@ 2026-02-15 17:42 Frantisek Borsik
2026-02-17 6:10 ` [Rpm] Re: [Cake] " dave seddon
0 siblings, 1 reply; 6+ 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] 6+ messages in thread
* [Rpm] Re: [Cake] CAKE-MQ merged to OpenWrt 25.12 today (February 15)
2026-02-15 17:42 [Rpm] CAKE-MQ merged to OpenWrt 25.12 today (February 15) Frantisek Borsik
@ 2026-02-17 6:10 ` dave seddon
2026-02-17 6:41 ` [Rpm] Re: [Bloat] " Stephen Hemminger
2026-02-17 13:23 ` Toke Høiland-Jørgensen
0 siblings, 2 replies; 6+ 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] 6+ messages in thread
* [Rpm] Re: [Bloat] Re: [Cake] CAKE-MQ merged to OpenWrt 25.12 today (February 15)
2026-02-17 6:10 ` [Rpm] Re: [Cake] " dave seddon
@ 2026-02-17 6:41 ` Stephen Hemminger
2026-02-17 13:23 ` Toke Høiland-Jørgensen
1 sibling, 0 replies; 6+ 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] 6+ messages in thread
* [Rpm] Re: [Bloat] Re: [Cake] CAKE-MQ merged to OpenWrt 25.12 today (February 15)
2026-02-17 6:10 ` [Rpm] Re: [Cake] " dave seddon
2026-02-17 6:41 ` [Rpm] Re: [Bloat] " Stephen Hemminger
@ 2026-02-17 13:23 ` Toke Høiland-Jørgensen
2026-02-17 14:34 ` [Rpm] Re: [Cake] Re: [Bloat] " Stephen Hemminger
1 sibling, 1 reply; 6+ 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] 6+ messages in thread
* [Rpm] Re: [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
2026-02-17 16:32 ` Toke Høiland-Jørgensen
0 siblings, 1 reply; 6+ 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] 6+ messages in thread
* [Rpm] Re: [Cake] Re: [Bloat] Re: CAKE-MQ merged to OpenWrt 25.12 today (February 15)
2026-02-17 14:34 ` [Rpm] Re: [Cake] Re: [Bloat] " Stephen Hemminger
@ 2026-02-17 16:32 ` Toke Høiland-Jørgensen
0 siblings, 0 replies; 6+ messages in thread
From: Toke Høiland-Jørgensen @ 2026-02-17 16:32 UTC (permalink / raw)
To: Stephen Hemminger
Cc: dave seddon, Frantisek Borsik, codel, bloat,
Jeremy Austin via Rpm, Make-Wifi-fast, ryan
Stephen Hemminger <stephen@networkplumber.org> writes:
> 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
If you set 'script' to 'layer_cake.qos' or 'piece_of_cake.qos' in the
config, you'll get a CAKE setup instead. On OpenWrt 25.12 (still in -rc)
this will automatically select cake_mq where the system supports it.
> It is dumb that in US it is standard to offer 1G down and 10M up!
Yes, very. Don't think it's actually possible to use that 1G link with
TCP without ACK thinning of some kind. The full-MTU-to-ACK ratio is ~47
(1500/32; this is assuming one 64-byte ACK for every two 1500-byte
packets), so you can only use ~470 Mbps downstream with 10M up. CAKE's
ACK thinning should help here, but you need to turn that on explicitly
by adding 'ack-filter' to eqdisc_opts in the config.
-Toke
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-02-17 16:32 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-15 17:42 [Rpm] CAKE-MQ merged to OpenWrt 25.12 today (February 15) Frantisek Borsik
2026-02-17 6:10 ` [Rpm] Re: [Cake] " dave seddon
2026-02-17 6:41 ` [Rpm] Re: [Bloat] " Stephen Hemminger
2026-02-17 13:23 ` Toke Høiland-Jørgensen
2026-02-17 14:34 ` [Rpm] Re: [Cake] Re: [Bloat] " Stephen Hemminger
2026-02-17 16:32 ` Toke Høiland-Jørgensen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox