We have moved to a new Sailfish OS Forum. Please start new discussions there.
5

Underclock processor to save battery?

asked 2016-11-11 13:42:31 +0300

updated 2018-12-03 20:14:15 +0300

Tanghus gravatar image

Is there any app or an easy way to underclock processor speed as and when needed (not always) to save battery?

Edit: I use Intex Aqua Fish running on 2.0.2.51

edit retag flag offensive close delete

Comments

Powersave mode does that.

objectifnul ( 2016-11-11 14:20:16 +0300 )edit

@objectifnul, where do you set Powersave mode yourself?

lakutalo ( 2016-11-11 16:37:28 +0300 )edit
2

@lakutalo You may use this

objectifnul ( 2016-11-11 16:51:01 +0300 )edit

5 Answers

Sort by » oldest newest most voted
4

answered 2016-11-13 21:54:53 +0300

Asmir gravatar image

Howto change "scaling_governor" and "scaling_min_freq" (idea is posted here)

Create the backup of

"/system/etc/init.qcom.post_boot.sh"

Change "/system/etc/init.qcom.post_boot.sh" in the case for MSM8909 like this:

case "$target" in
    "msm8909")
   ...
   # disable thermal core_control to update scaling_min_freq
   ...
   echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
   echo 200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
   ...
   # Bring up all cores online
   ...
   echo 1 > /sys/module/lpm_levels/parameters/sleep_disabled

Restart your phone.

Check:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
edit flag offensive delete publish link more
4

answered 2016-11-11 14:26:58 +0300

hoschi gravatar image

updated 2016-11-14 11:27:42 +0300

Hello! Scaling down or using a power_save_governor sounds like "energy saving" but in practive this is often not the case. If you slow down your processor, it will take more time to fullfill it tasks and therefore more time until it can go into a deep sleep states. A well known example is the p_state driver from Intel, basically it let the processor decide upon the tasks pending, current power consumption and used cores how much voltage and clockspeed it wants. It aim is it, to finish the work as fast as possible without wasting to much energy and then go to sleep and stay there as long as possible.

There are better ways to save energy:
Reduce display brigthness, turn off bluetooth or wifi, avoid using GPS and prefer cell-tower based services for location, turn off Android-Support...

edit flag offensive delete publish link more

Comments

1

Hence I guess deep sleep state entering / exiting should perhaps be done at full speed ?

tortoisedoc ( 2016-11-11 14:46:33 +0300 )edit
2

As stated in my answer, I have made the observation myself that there is not much effect in using the governor. My benchmark has always been over-night flight mode. The value of ~8% drainage per night was not changed at all on my JollaC, and the likewise 1~2% of my Jolla1 still never have been reached on JollaC yet, whatever measures I took.

lakutalo ( 2016-11-11 16:35:46 +0300 )edit

Whether underclocking would save energy depends on the nature of the wakeup. If all activities are done on device and are CPU bound, you probably are right. If your device woke up to check emails and do some other things that require longer wait for I/O, underclocking could be a wise choice. In flight mode, probably most activities are local - hence your results.

rinigus ( 2016-11-14 08:56:16 +0300 )edit
5

answered 2016-11-11 14:09:31 +0300

jwalck gravatar image

Which device do you have? Either way the answer is the same:

It already does this. You have a CPU governor that clocks down or up the CPU depending on load. You can experiment with this to conserve some power at the expense of performance (make it more reluctant to scale up with load) but in general the savings will be small.

If you have developer mode activated you can in the terminal check the governor in use like this:

# devel-su
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

This may have several values, for example ondemand or interactive. for more info see the kernel documentation or specifically the additions for the interactive governor.

And there are several applications in the Jolla store to check the current frequency, AIDA64 is one example.

edit flag offensive delete publish link more
2

answered 2016-11-11 14:06:12 +0300

lakutalo gravatar image

updated 2016-11-11 14:07:15 +0300

There seems to be a possibility to change settings of the cpu scaling governor, but I am not sure if this really works, as I have not been able to test it positively.

A very interesting thread on this issue can be found here: https://together.jolla.com/question/139036/intex-aqua-fish-battery-life/?answer=139079#post-id-139079

edit flag offensive delete publish link more
3

answered 2016-11-11 14:00:13 +0300

malibu1106 gravatar image

You can find a how-to in answers

https://together.jolla.com/question/140203/202x-battery-drain/

edit flag offensive delete publish link more
Login/Signup to Answer

Question tools

Follow
3 followers

Stats

Asked: 2016-11-11 13:42:31 +0300

Seen: 2,154 times

Last updated: Nov 14 '16