Do I even need SQM? It seems I already have a good score


8ms=nothing basically. Am I right? How do I have so low? Many people don't have this low.

It ain't forced upon you…

Do you have any problem to begin with?

if you are a gamer (its better to reduce upload and download to 0 ms) by using SQM and QOS
if you are not a gamer ... it will not effect you .... you don't need SQM or QOS ....

Sometimes even with SQM you can't reduce it to 0, especially at like 21.00 PM.

Whether you are a gamer or not, nobody needs SQM, strictly speaking, so if it helps for you use cases, excellent use it, if it does not help or even deteriorate a performance dimension you are interested in, don't use it. Your network, your rules.

Technically SQM tends to help to keep queueing latency at bay when running a link at saturation with a high duty cycle, and then it can help in keeping queueing low and sharing equitable... but if that never is your problem you might not be interested in spending the considerable amount of your router's CPU cycle on SQM (though I note the costly component is mostly the traffic shaper, the stochastic flow fair scheduler is relatively cheap, so cheap in fact that OpenWrt uses fq_codel as default qdisc...)

Easy, SQM's default latency target is 5ms, so it will allow a standing queue of 5ms, so in the waveform tests anything below the target is "gravy" and implies not a hash load, as under a hash load you latency under load will increase at least one target interval...

You can try to enable SQM in egress direction only, i.e set ingress to zero, then set egress to half of achieved, then halve up towards full bw, when latency spikes start to grow make one step back. But if you dont play FPS games 24x7 you are fine.

ie this number downrates gaming:

1 Like

Btw I have hardware offloading, so I suppose I can't even enable SQM right? I mean I want 1000mbits more.

Depends on the router, if offload is required to achieve the bandwidth you dont have CPU for SQM left.

Yes with hardware offloading (unless the hardware offers fq_codel and a shaper) the kernel will not really see the packets anymore at the stage where SQM would get hold of them, nothing to see -> nothing to do for sqm -> no effect.

If you value throughput over latency or if latency is already acceptable, you seem to be doing the right thing, maybe keep SQM on the back of your mind in case you run into latency/bufferbloat problems later.

Or plainly (tell kids to ) dont run torreent while gaming

My friend .. can you explain this more for my knowledge.... for example if my CPU MediaTek MT7988A (Filogic 880) quad-core Arm Corex-A73,1.8GHz processor

ubus call system board
You can regulate output, but on weaker cpu it is hit and miss vs 100% cpu load.

root@OpenWrt:~# ubus call system board
{
        "kernel": "6.6.53",
        "hostname": "OpenWrt",
        "system": "ARMv8 Processor rev 0",
        "model": "Bananapi BPI-R4",
        "board_name": "bananapi,bpi-r4",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "revision": "r27644-d03f3dcf3b",
                "target": "mediatek/filogic",
                "description": "OpenWrt SNAPSHOT r27644-d03f3dcf3b"
        }
}

hi,

offloading means that instead of packets going through the whole network stack and utilizing the cpu some short cuts are applied. which has the benefit that cpu is offloaded so can do other stuff but drawback is that fine grain decisions - like sqm - will be skipped because it would require cpu.
so if your device can achieve high throughput for example only with hw offloading on, but not without it (i.e. when the cpu is involved), it means as sqm will require cpu, i.e hw offloading to be off, then adding sqm on top of an already overutilized cpu it will degrade throughput even more.

try to measure performance with and without hw offloading while monitoring cpu (e.g. using htop). if without offloading htop show high cpu utilization sqm will make things even worse. if there is no significant performance drop and cpu still looks mostly idle then you can try sqm to see if improve things.

which as said before might not be the case for your network, for your load pattern, for your expectation.

1 Like

If you consider the maximum latencies for download and upload they are circa 30ms and 250ms. And that's just using the Waveform test. Is this truly indicative of the worst latency spikes you will see on saturation?

But yes, you have a great connection. I personally wouldn't care about such latency spikes for how I use my own connection these days, but probably if I was an FPS gamer I'd want to avoid any such latency spikes whatsoever.

Regardless, you might want to use SQM to ensure that clients receive fair shares of bandwidth. Absent SQM I think the bandwidth allocation is unpredictable.

1 Like

My test results had stable A also before using sqm, but using sqm seems to help streaming movies when other devices want to make cloud sync when connected to PSU or just sync something for fun!?

So it can definitely make life better without buying more bandwith and having 10-15 connected devices and IOT things fighting for the same 100/100Mbit (I don’t want to by more as long as it isn’t actually saturated over time).
So it can also be used to make available bandwidth more efficient.

But it is a lot of “trial and see” if it makes life better.

1 Like

I am curious about how without SQM bandwidth allocation across devices works? I presume it's unpredictable and unfair resource allocation.

1 Like

Good question!
I don’t know if there is any network standard to throw out the one that is using the network the most?

Probably this old pre-industrial saying we have in this country applies also in un-regulated networking.
In English it would probably be something like this: “first one to the windmill get to use the windmill first” which pretty much means no food for second place to the windmill so they have to wait until the windmill is free for use.

1 Like

Funny, we have "er zuerst kommt, mahlt zuerst" in German, which is the same idea/analogy about milling being a FIFO operation...

Regarding sharing: if a link is not saturated (let's ignore microsaturation and just assume very small transient queue fluctuations, with the queue mostly being empty) by definition every flow gets as much capacity as it actually uses, so even if that might not be equitable there is nothing to do as there is spare capacity... only once we reach saturation/queueing for long enough sharing behaviour starts to matter, but in that regime likely SQM will also help with latency under load...

2 Likes