@qosmio - if you have a working SQM configuration, would you mind posting your /etc/config/sqm?

Using the configuration shown below Im getting some...weird behavior. Ive never setup SQM before though so I'm really hoping that Ive just configured something wrong.

#  should this be `config queue 'wan'` ???
config queue 'eth1'
        option enabled '1'
        option interface 'wan'
        option download '960000'
        option upload '500000'
        option qdisc 'fq_codel'
        option script 'nss-zk.qos'
        option linklayer 'ethernet'
        option debug_logging '0'
        option verbosity '6'
        option overhead '44'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '88'
        option linklayer_adaptation_mechanism 'default'

NOTE: internet connection is 1000/500 mbps fiber. I dont really need SQM for this connection, since saturating my download link only increases latency from 20 ms to 40-50 ms, but I figure since I can actually do it now (yay NSS!) I mine as well try it out.


The "weirdness" im seeing is...well....weird.

When SQM is not currently running and I enabled it (set enabled '1' in uci config and run service sqm start) it enables and seems to work - running speedtest-netperf.sh my download speed drops to ~860 mbps (vs ~910 mbps without sqm) but latenency only increases by a maximum of ~1-2 ms instead of 20-30 ms. BUT, there is a constant ~25% load on all 4 CPU's. This load remains even when the network is idle and no one is using it for anything (meaning no traffic going through the router). Based on how good the performance is and since the load is independent of how much traffic there is, I think that NSS is actually handling SQM here, but something not related to how much traffic the router is processing is fully using up 1 CPU core and just getting quickly passed around between cores.

If I enable the sqm service and reboot, there is something that is perpetually restarting the sqm service at least once a second. Weirdly, stopping+disabling the sqm service doesnt stop this from happening (unless I reboot). setting enabled '0' in the uci config stops it, but if I then set enabled '1' it starts back up immediately, so I dont think that it actually was ever actually stopped, it just had no effect (other than wasting CPU cycles) with sqm not enabled by UCI.