SQM on Netgear R7800 problem

I will do it later, but keep in mind that it is not a real-life test: it tests either a download or an upload, but not both at the same time.

I am beginning to think that PPPoE and applying VLAN on WAN are taking more resources than I thought.

Not bad. Agreed- Going to need a little more CPU power to get both upload and download consistently at that level.

I have one r7800 acting purely as a wired router and two r7800s as pure APs. Nicely distributes the load it seems. Wired router is running hnyman master build- all features turned off (the default), just CPU tweaks. Even with everything as optimized as I can make it - I can shape a max of 500mbps total (thus why I wanted to see what 250 / 250 did for ya).

Might get a couple more mbps without the extras. :man_shrugging:

SQM: 122550(down); 5700(up); cake; piece_of_cake.qos; Tweaked Ack:

Ok, i tested the following:
SQM: 122550(down); 5700(up); fq_codel; simplest_tbf.qos; software offloading enabled; tweaked CPU, tweaked Ack

SQM: 122550(down); 5700(up); fq_codel; simplest.qos; software offloading enabled; tweaked CPU, tweaked Ack

Looks like tbf +fq_codel gives you the best result. Ack I think is just a cake feature so you can turn it off. Much better bufferbloat compared to your baseline. Enjoy!

Thanks for all that helped. So I use the following setting now:

config queue 'eth1'
	option debug_logging '0'
	option verbosity '5'
	option qdisc_advanced '0'
	option linklayer 'ethernet'
	option overhead '22'
	option download '122550'
	option upload '5700'
	option interface 'eth0.2'
	option enabled '1'
	option qdisc 'fq_codel'
	option script 'simplest.qos'


echo 35 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor


config defaults
	option syn_flood '1'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option flow_offloading '1'

Are there any other tweaks that should be used with my setup?

SQM settings look good. You can use these commands to check if your CPU settings are working and that irqbalance is enabled (usually have to restart after putting it in the rc.local file)

cat /sys/devices/system/cpu/cpufreq/ondemand/up_threshold

cat /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor

cat /etc/config/irqbalance

I run packet steering too to balance the network load:

uci set network.globals.packet_steering=1; uci commit network

You can check the global settings here after you enable it:

cat /etc/config/network

Those are the best tweaks I’ve found for the r7800. I’ve been able to shape up to 450-500mbps total. The next major breakthrough is waking up the NSS CPU cores to get hardware acceleration working, more work needed there but quarky has done great work:

Thanks again. It all seems fine. However, I think irqbalance in not enabled. I put the following into the rc.local section in luci:
Rebooted and checked the results as follows:

root@OpenWrt:~# cat /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
root@OpenWrt:~# cat /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
root@OpenWrt:~# cat /etc/config/irqbalance
config irqbalance 'irqbalance'
        option enabled '0'

        # The default value is 10 seconds
        #option interval '10'

        # List of IRQ's to ignore
        #list banirq '36'
        #list banirq '69'

root@OpenWrt:~# cat /etc/config/network
config globals 'globals'
        option ula_prefix 'abcd:efgh...:/48'
        option packet_steering '1'

Run this command and your irqbalance will be enabled:

uci set irqbalance.irqbalance.enabled=1; uci commit

Using uci will survive soft reboots and should balance our your irqs. :sunglasses: