Device restarts when CPU scaling governor is changed (GL.iNet GL-SF1200)

Hello I bought a GL.iNet GL-SF1200 with OpenWRT preinstalled. The version is quite old, 18.06. I don't expect too much from it, but it's quite good for my needs (except bufferbloat).

The router system comes with a custom qos made by vendor in which I can set bandwidth limits for single devices connected to the LAN. I have to say it's not really bad, setting limits could be helpful sometimes, but bufferbloat is bad anyway. If I had a router without OpenWRT, I would leave the things as they are, but since I have it, I'd like to try to improve my connection.

So I disabled the GL.iNet qos and installed luci-app-sqm. Properly configured it following various guides I got few decent tests followed by mostly grade B/C bufferbloat. It seems nothing changes very much on my device with SQM enabled.

Anyway I also read that SQM algorithms can have bad performance on multicore CPU. My SF-1200 has a MIPS sf19a28 1GHz dual core. Before opening a thread to troubleshoot this issue I'd like to give another chance to SQM installing irqbalance and setting CPU scaling governor to performance (userspace is the default in use). I also read about users getting some improvements on performance governor.

Anyway when I try to change it with echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor from ssh, the device restarts itself instantly. Can someone explain me this behavior? Does it mean I can't change CPU governor? Clearly something goes wrong in this operation, but I can't figure out what and why. I wanted also to try to add the same command in /etc/rc.local, but if it crashes at startup, I'm afraid the device will end up in a bootloop.

So I'm here to ask. Is it safe to change the scaling governor from rc.local or I should give up and reinstall the previous qos? Unfortunately SQM it's not a big help in the actual state and if the bad performances are related to the dual core management, I'm afraid nothing can be improved if the scaling governor is not changed.

That is not quite the normal OpenWrt, but a proprietary version modified by gl.inet.

Probably the scaling support modules have not been compiled and included in the kernel.

CPU frequency scaling works in relatively few target architectures.

Quite likely your CPU already runs at the full speed, so switching to performance governor would not change anything. (Or have you seen kernel stats that the frequency really is currently scaling?)

That should be the issue. No, I haven't seen, but I think it's not possible to change it.

I don't know where to see for realtime cpu frequency. cpuinfo is not of any help. But since it can't be changed, never mind.

Anyway I tested several times. SQM on this GL.iNet router does not reduce bufferbloat significantly. Unfortunately it's also bad on throughput, I can't exceed 100 Mbps on my 200 Mbps VDSL2.

Surely it's a CPU issue, but it's also weird since with SQM enabled I always see system load in LUCI main page around 1.30-1.60. For a dual core it's not at its maximum. I guess I should go back to qos provided by the vendor. Better than nothing.

As there is no support for this SOC in OpenWrt, with GL.iNet relying on a proprietary vendor kernel, there really isn't anything we could help you with here.

You helped me anyway. Thank you.