Speed Shift expected behaviour
-
I have an Intel N100 CPU and just been playing with Speed Shift. Set to Core Level Control and its not behaving how I would expect.
We know OpenVPN is single-threaded so under load I would have expected a single core to boost, but as traffic going over OpenVPN increases, ALL cores boost to 2992Mhz if I have Power Preference set to 50. When OpenVPN drops to more idle levels, the cores drops to between 1300-1600Mhz.
If I move the slider further to efficiency, under load the cores drops from idle 1600Mhz to 1311Mhz max. I'm guessing as an idle high clock is actually consuming less power than an at-load lower clock. But why does none of the settings seem to allow a single-core to boost while letting the others idle?
During all this OpenVPN is only pushing 300Mbit, I've seen it do twice this and when not going over OpenVPN this box is capable of 2.5Gbit, even though my current service is only 930Mbit over PPPoE.
Top shows 80% idle with the OpenVPN thread hitting just over 50% load at peak. Why would this cause all four cores to boost?
-
How are you measuring? It can be difficult to measure that because simply trying to read it can cause the cores to ramp up.
Do you see the sysctls set as expected?
-
@stephenw10 I'm running with the WebUI closed over SSH:
sysctl -a dev.cpu | grep 'freq:'
Though I do have a script running rate in the background to extract statistics to my home server which no doubt prevents the cores going as low as they could.
Even so, I would have expected something like OpenVPN to allow one or two cores to boost high while the others two stay at 1300-1600Mhz, rather than them all boosting.
It is always a little tricky with these Aliexpress specials of course, you never know what the BIOS has hard-coded, seems I was lucky to have hardware p-states at all from what I've read. But even so, it just seems odd its boosting all cores under a single-thread load.
Just to clarify, under low load the cores are all running at different speeds so the per-core speed shift is clearly working and I can see it loaded in dmesg.
One possibility, I was wondering if the i226 NICs having 4 queues is causing all 4 cores to get too much load? Not sure if this would show up in top? Though again, its a measly load compared to what the NICs are capable of.
-
You could test something locally that you know is just using one CPU core. Yes the NICs will be using multiple queues if they can. At a power preference value of 50 I'm surprised it ever ramps down. I use 80 or 90 to achieve low power operation on devices here.