After some more testing I have concluded for myself that actually the “Hotplug” governor is the best (on my S905x box). It acts much like the interactive governor by going through all the speed steps but with the added benefit that it can shut off cores seperately. Also, while using the interactive governor I noticed some micro-stutter. Subtle, but still there.
So again, just put this line in your autostart file:
echo hotplug | tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor >/dev/null
You only need to run this command on the first core, the other cores are linked to it.
If my S912 box is typical it has 2 sets of 4 cores the first set of 4 cores uses /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
and is set to ondemand Minimum frequency 1Ghz (1000000) Maximum 1.5Ghz (1512000)
Available Frequencies 100000 250000 500000 667000 1000000 1200000 1512000
The second set of 4 are controlled by /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
and is set to ondemand Minimum frequency 1Ghz (1000000) Maximum 1Ghz (100000). So the scaling governor has no effect.
Available Frequencies 100000 250000 500000 667000 1000000
I tried the following but it only makes a couple of degrees C difference as the S912 has already got the ondemand governor enabled. The box does idle at 600Mhz even playing UHD content.
I don’t think P(ower)=F() requency^2 is an accurate measure for this type of CPU at these frequencies. Any reduction in power is a good thing looking at the S905X2 stats most of the core are sat around 80% of the time Waiting For Interrupts.
Ondemand doesn’t do much of the job with default parameters. Almost all the time the frequency is at maximum, 1908, as in performance mode, even in idle.
Do you know how to make the value 100 to remain in the up_threshold file (
/ sys / devices / system / cpu / cpufreq / policy0 / ondemand / up_threshold) after restart?
I can change, it works, but after restart it returns to the initial value 50.