WRT1900ACS (mvebu) Kernel 5.x SQM Speed Drop

I am experiencing nearly a 200Mbps speed drop on my downloads when using cake SQM with kernels 5.4.x or 5.10.x vs 14.4.x.

I have fibre to the house @ 950/500 (up/dwn) Mbps.
This is my SQM config - however is a piece of cake yields similar results on 5.x:

#config queue 'eth1' <-- this only appears in the kernel 5.4 or 5.10 builds
config queue
	option debug_logging '0'
	option verbosity '5'
	option interface 'eth1.10'
	option upload '475000'
	option qdisc 'cake'
	option script 'layer_cake.qos'
	option qdisc_advanced '1'
	option squash_dscp '1'
	option squash_ingress '1'
	option ingress_ecn 'ECN'
	option egress_ecn 'NOECN'
	option qdisc_really_really_advanced '1'
	option iqdisc_opts 'oceanic nat'
	option eqdisc_opts 'oceanic nat'
	option enabled '1'
	option download '875000'
	option linklayer 'ethernet'
	option overhead '28'

On 19.07-snapshot w/ kernel 4.14.224 I get:
750-830 / 480-430

However when I run either kernel 5.4.x or 5.10.x snapshot, I get:
500-680 / 430-460

Has something been changed in the kernels 5.x that would reduce my speed?

What can I do to test and determine if there is an issue?

1 Like

My guess, DSA and the switch to a single CPU port instead of 2

Have you tried to run without SQM enabled on 5.10?

I had kinda' thought this too, and thinking about it more it makes sense as there are two hand-offs now between CPUs with DSA(?)...
wan (eth0) --> SQM (CPU on eth1) --> lan (eth0)
...where as before it just went from eth0 to eth1. It'll be interesting how the proposed multi-CPU solution for DSA of round-robin will work with SQM.

I rolled a master snapshot lastnight (commit 4f8da19572) and whilst my downloads with no SQM were not too bad, they were a bit jittery compared to having SQM. Granted this jitter may be related to the fact my upload would not go past 100Mbps with the latest kernel 5.10.31 and from the cmd line when I would restart SQM I would get an error message of "RTNETLINK: No such file or directory".

Searching the error message I was directed to kernel mod kmod-netem however I've never had this previously in my build configs so why now? Looking at the commits I wonder if this change may be having an impacting...(?) - kernel/modules: move act_gact into kmod-sched-core

I'll have to wait until the weekend to try a different build - or possibly remove the above commit to test.

Given your FTTH speeds I would guess DSA as well (symmetry), could take a stab with PR3655 (5.4 iirc) if it still applies correctly.

sorry to be a bit of a stickler on typos, but i assume you meant 4.14 and not 14.4

only reason i mention that is the openwrt releases often start in the 'teens' and i thought maybe someone would get confused

1 Like

It does appear this commit was limiting my upload to 95-100Mbps, as I rebuilt the same snapshot without it and I am getting full upload speed 410-480Mbps (kernel 5.10)

Yes sorry. I'd change it if I could.

How would I apply this? Happy to be directed to some reading material.

Number of ways, usually I would just:

wget https://github.com/openwrt/openwrt/pull/3655.patch
patch -p1 < 3655.patch
make target/linux/{clean,compile}

but I would suspect this has probably suffered bit rot by now. But you may be able to get it rebased.

The upload limit I experienced by this commit on kernel 5.10.x can be overcome by including (kernel > network support) kmod-sched

I will see if I can try a multi-CPU patch as I get a lot of 'jitter' on both 5.4.x and 5.10.x with DSA still with SQM (cake) enabled.

I am not sure if I should continue this thread or make a new one as this new issue is for kernel 5.10.76/77 on master.

On Tx I cannot get above 10Mbps :sob: on my FTTH 950/500 connection

It is not DSA as you'll see I have an 'official' build of 21.02.1 and that runs at nearly full tilt Rx & Tx. I tried adding the kmod-sched however that made no difference. The master snapshot is 'default' except for AdvReboot and SQM (never enabled)

Anyone else experiencing this?

My tests...
Baseline – Running SQM (827k/475k); Software Flow Offload enabled
Firmware Version: OpenWrt 19.07-SNAPSHOT r11367+2-7378c94927
Kernel Version: 4.14.243
Running: SQM (825k/475k, layered cake)

Nperf
image

Fast
image

Waveform
image

Official 21.02.1 –WAN set to VLAN.10; IPv4/v6 enabled; Software Flow Offload enabled
Firmware Version OpenWrt 21.02.1 r16325-88151b8303
Kernel Version 5.4.154

Nperf
image

Fast
image

Waveform
image

Master (20211106) – WAN set to VLAN.10; IPv4/v6 enabled; Software Flow Offload enabled
Firmware Version OpenWrt SNAPSHOT r18012-9f90a89655
Kernel Version 5.10.76
Side note – for this and another master snapshot build, when I applied the vlan.10 to wan it didn’t take initially, had to perform this twice…?

Nperf
image

Fast
image

Waveform
image

Edit: removed URLs