Bufferbloat & SQM & Omnia

With some tinkering I did get around 650Mbps bidirectionally with a score of A, including a good mark for low latency gaming, on https://www.waveform.com/tools/bufferbloat The Omnia currently seems to max out at around those speeds with SQM active. This is my test result: https://www.waveform.com/tools/bufferbloat?test-id=b6641187-0533-4c3f-8ada-5fa102093f47

Here’s what I did:

I used Google Chrome as the test browser on macOS.

I configured SQM as per the SQM “how-to” https://openwrt.org/docs/guide-user/network/traffic-shaping/sqm but I added the “nat dual-dsthost” and “nat dual-srchost” as recommended here: How to use the cake queue management system on the Turris Omnia

I edited /etc/hotplug.d/net/20-smp-tune similar to what @moeller0 recommended to ensure both CPUs are used, but like this (from post about another OpenWRT device with similar issue at https://forum.openwrt.org/t/18-06-4-speed-fix-for-bt-homehub-5a/23643

for q in ${dev}/queues/rx-*; do
        set_hex_val "$q/rps_cpus" "$PROC_MASK"
done

for q in ${dev}/queues/tx-*; do
        set_hex_val "$q/xps_cpus" "$PROC_MASK"
done

I understand that the need for the above modification to /etc/hotplug.d/net/20-smp-tune should be gone with Turris 6.0 when option packet_steering '1' will be supported in the global options in /etc/config/network. In the meantime would it make sense for the Turris to ship a /etc/hotplug.d/net/20-smp-tune with the above change?

The FAQ for the test says that to meet the requirements for “low latency gaming” the 95th percentile latency for both upload and download needs to be < 40ms. I experimented with the download and upload speeds to adjust them to where the test could consistently return that 95th percentile latency, for me that was around 680 Mbps.

2 Likes