The Following User Says Thank You to JMacalinao For This Useful Post: | ||
![]() |
2010-04-23
, 06:43
|
Posts: 451 |
Thanked: 334 times |
Joined on Sep 2009
|
#3262
|
![]() |
2010-04-23
, 06:56
|
|
Posts: 324 |
Thanked: 201 times |
Joined on Apr 2010
@ UK
|
#3263
|
I have made couple of CPU setting scripts with Queen Beecon application to improve battery life.
For daytime (i.e active use) CPU: 500 - 850MHz.
For nighttime (i.e. idle, etc...) CPU 125 or 500MHz
And some statistics:
During nighttime, CPU spend over 95% on 125MHz (@ VSEL = 20)
Battery-eye shows pretty flat graph
The Following User Says Thank You to matts76 For This Useful Post: | ||
![]() |
2010-04-23
, 07:09
|
Posts: 5,795 |
Thanked: 3,151 times |
Joined on Feb 2007
@ Agoura Hills Calif
|
#3264
|
![]() |
2010-04-23
, 07:32
|
Posts: 111 |
Thanked: 27 times |
Joined on Apr 2010
|
#3265
|
As root under xterm, try this:
1 root@glamb-n900 [~]# cat /sys/power/vdd1_opps_vsel
In my case, it returns:
0 15 26 36 40 42 47 48 50 53 56 59 63 64 68
These are the voltage increase multipliers for all the defined frequencies:
Off 125 250 500 550 600 700 750 800 850 900 950 1000 1100 1200
So in this case, you'll want to increase the 10th value. In my case, it's 53, so bumping that to 55 would probably solve the problem. To do that temporarily:
echo 0 15 26 36 40 42 47 48 50 55 56 59 63 64 68 > /sys/power/vdd1_opps_vsel
To make it permanent, edit /etc/default/kernel-load, and update the line:
VDD1_OPPS_VSEL="0 15 26 36 40 42 47 48 50 53 56 59 63 64 68"
That should do it.
Note though that the processor may be downclocking for short periods while doing DSP related stuff (playing/recording video), and it may be at these voltages the DSP is crashing. So you may have to increase various voltages to get it stable. It takes some patience.
The DSP_OPPS_RATE variable in kernel-load species the frequencies of the DSPs across the CPU freq spectrum in the same way as VDD1_OPPS_VSEL specifies the voltage multipliers, so you can tune the DSP frequencies as well.
To test stability at a given frequency, you could lock the min and max scaling frequencies to the one you're interested in (250, 500, 850, whatever) for short periods to test.
![]() |
2010-04-23
, 08:55
|
|
Posts: 168 |
Thanked: 206 times |
Joined on Apr 2010
@ Finland
|
#3266
|
Any chance you could share these scripts with us, it sounds like a really good idea
VDD1_OPPS_VSEL="30 20 25 30 33 38 45 45 48 48 54 54 60 67 72"
echo 850000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq echo 500000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq echo "125000 250000" > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/avoid_frequencies
echo 500000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq echo 124999 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq echo "250000 550000 600000 700000 750000 805000 850000" > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/avoid_frequencies
Title: High CPU Command: sudo /home/user/cpuhigh
Title: Low CPU Command: sudo /home/user/cpulow
user ALL = (ALL) NOPASSWD: ALL root ALL = (ALL) NOPASSWD: ALL
![]() |
2010-04-23
, 09:13
|
Posts: 946 |
Thanked: 1,650 times |
Joined on Oct 2009
@ Germany
|
#3267
|
![]() |
2010-04-23
, 10:23
|
Posts: 1,751 |
Thanked: 844 times |
Joined on Feb 2010
@ Sweden
|
#3268
|
It is difficult to say. The total energy from battery definitely increases with higher frequency even you run with low voltage. And most of that energy dissipates on CPU.
Just to understand better that a small example. I ran a stock kernel and measured a current from battery under different frequencies. The 250MHz (playing MP3 music) takes only around 110mA but 600MHz (hard loop in shell) takes TEN times more - around 1400mA (screen is dark etc). But CPU VDD1 voltage still differs only 1.26 times (1.58 in square).
So, the biggest power consumption increase is in frequency increase.
You still may have more bigger CPU current under high frequency which heats CPU more even with decreased voltage.
![]() |
2010-04-23
, 10:40
|
Posts: 1,729 |
Thanked: 388 times |
Joined on Jan 2010
@ Canada
|
#3269
|
![]() |
2010-04-23
, 14:41
|
Posts: 9 |
Thanked: 0 times |
Joined on Apr 2010
|
#3270
|
![]() |
|
jmac.ph