Xperia 10 III uses `Performance` governor for Gold cores where it probably shouldn't

REPRODUCIBILITY: On my and direc85’s device
OS VERSION: 4.4.0.68
HARDWARE: Xperia 10 III
UI LANGUAGE: Polish
REGRESSION: No?

DESCRIPTION:

During investigating stuff on High battery drainage Xperia 10 III we discovered device is using Performance governor for its gold cores, even though Sony sets them all to schedutil. This could lead to higher battery drain than expected, and CPU not getting to the lowest idle clocks.

STEPS TO REPRODUCE:

Running cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor returns:

schedutil
schedutil
schedutil
schedutil
schedutil
schedutil
performance
performance

EXPECTED RESULT:

Shouldn’t it be how Sony sets it in the init.lena.rc, all schedutil?

ADDITIONAL INFORMATION:

Is it an SFOS problem, or problem with sources provided by Sony? Should I report it on their bugtracker as well?
Another abnormal things is that:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq  
652800

for Silver cores this time, where it should be 300MHz:

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
300000
5 Likes

On my X Compact i get:

,---
| Sailfish OS 4.4.0.68 (Vanha Rauma)
'---
[defaultuser@XperiaXCompact ~]$  cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
interactive
interactive
interactive
interactive
1 Like

Which is exactly what Sony set.
While on X10 III we get something different from what they set, that is I am curious if a bug or a thing SFOS developers did.

Strange thing is that even after changing governors of all cores to ondemand, which in case of cores 0-5 makes them idling at 576 MHz instead of 1,2 GHz and Gold 6-7 cores at 300 MHz instead of staying all the time at 2.0 GHz, there is no noticeable improvement in power consumption, at least during idle/sleep. Both before that change and after it, my 10 III when idle (and with mobile data, Bluetooth, location and Android support disabled, only WLAN active) consumes exactly 1% per hour, i.e. 45 mAh. Tonight I will test it with WiFi off.

Another thing worth investigating is why is the idle frequency for Silver cores high:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq  
652800

even when the cores can go down to 300MHz:

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
300000

Could it be investigated why is that as well?

1 Like

This issue just got fixed upstream, my pull request just got merged. This didn’t just affect the selected scheduler, min_freq and scheduler configuration was not properly set as well.
@flypig Will next SFOS version use the newest device configuration from Sony so this can be fixed?

3 Likes

I’m not sure I’m afraid; I’ll need to check. I’ll try to find out for you reply here.

1 Like

I posted about this under the next community meeting. It is up to you if you want to answer this question then, or just here.
It is not time critical, but I strongly suggest they include this fix in the next SFOS release, as it is a pretty obvious mistake.

You will already be aware @JacekJagosz, but for the benefit of others who may be keeping track of this: in order for this to be integrated with Xperia 10 III devices running Sailfish OS this will (as I understand it) need to be pushed to the r-mr1 branch of the Sony repositories. @Thaodan has left a comment about this which I see you’re already in discussing with him about.

This administrative step aside, it would be good to get it included. We’ll summarise the situation in the next community meeting too, including any updates that happen in the interim.

4 Likes

About the 300MHz minimum frequency setting: I have used it for weeks, and haven’t noticed any slugginess or stalling, with ondemand nor schedutil. To me it feels like a safe change, but I bet using the correct schedulers (not performance) has greater effect towards power savings.

1 Like