Tiny Core Extensions > TCE Tips & Tricks
Cpu frequency scaling basics
bmarkus:
Did you change the governor to userspace?
bigpcman:
--- Quote from: bmarkus on August 14, 2009, 03:39:06 AM ---Did you change the governor to userspace?
--- End quote ---
I set the governor to "On Demand High" in the Basic section - "AC on" in the cpufreq.conf file. I assume this sets the system governor to "ondemand" as long as the computer is "plugged" into AC and is not running on batteries. When idle the coufreq-info does indeed report "ondemnd" governor active.
However, for some reason the system switches over to the performance mode when the cpu gets busy. But never beyond 1.3Ghz. Strange.
edit: Well I guess I have been a little slow to pick up the fact the cpufreqd daemon is a user space program and overrides/ conflicts with the other governors like "ondemand".
I finally got around to reading the IBM document bmarkus suggested. It states:
--- Code: ---The "userspace governor"
Use the userspace governor if you want to impose a unique power policy that is not provided by other
kernel governors or if you want to experiment with directly setting different power policies.
This governor allows any user space program to set the processor frequency. User space daemons such as
cpuspeed control the processor speed through the userspace governor interface. Because user space
programs can react to any number of conditions or events, this governor (in conjunction with a user
space program) provides you with the most freedom in setting processor speed. The userspace governor
does not dynamically change the CPU frequency or react to processor load - it only provides a
mechanism to set the frequency (through the use of the scaling_speed parameter discussed later).
The cpuspeed program is an example of a user space program that you can use to control the processor
speed. Red Hat Enterprise Linux 5.3 provides cpuspeed and the daemon runs by default. Other example
daemons that work with the userspace governor to adjust the CPU frequency are:
cpufreqd
http://www.linux.it/~malattia/wiki/index.php/Cpufreqd (http://www.linux.it/~malattia/wiki/
index.php/Cpufreqd)
--- End code ---
So by setting the governor to "userspace" directly in the /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor file I finally get the desired effect.
edit2 : It seems that when I edited the cpufreq.conf file I made a mistake so the cpufreqd daemon was not actually running when I got the "userspace" above results. Very interesting eh. That got me to thinking that the "ondemand" governor would run fine without the daemon and sure enough that seems to be the case. But after thinking about this some more, perhaps the bios is scaling the cpu freq and the "cat scaling_cur_freq" is simply reporting on what the bios is doing. I'm still not sure what is going on.
bigpcman:
tc2.2 eeepc 900A
Alrighty then, it's to time to start over. I decided to reboot and start over with a simpler approach.
I installed only the "cpufreq-2.6.29.1-tinycore.tcem" extension which has no dependencies.
Next I did a "sudo modprobe acpi-cpufreq".
The modprobe installed the "/sys/devices/system/cpu/cpu0/cpufreq/" directory with all the cpufreq control and status files.
At this point the "cpufreq_governor" was set to performance by default and the cpu speed stayed at 1.6Ghz under all loads.
Next I did a "sudo modprobe cpufreq_ondemand".
Then I changed the "cpufreq_governor" to "ondemand".
Bingo! The cpu speed dropped to 800Mhz at idle and jumped to 1.6Ghz when the cpu load increased. Perfect.
Wow, somehow I got myself way offtrack on this one. In the end the solution was simple but it was a long trip to get here.
OldAdamUser2:
Thanks for this great tutorial on power saving. I followed the aadvice on my Eee900 and was able to set up my machine for the first time in a true low-power mode. This is just what I want for reading ebooks and light web browsing.
4-stroke:
Just as info:
I've had great success with my Acer Aspire 1360 with AMD sempron CPU by putting this in my bootlocal.sh:
--- Code: ---modprobe powernow-k8
modprobe cpufreq_ondemand
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
--- End code ---
Of course cpufreq-2.6.29.1-tinycore.tcem is needed also.
On my Eeepc900 with the celeron processor loading the acpi-cpufreq module doesn't work and with the p4-clockmod module it just became very sluggish and battery time didn't increase at all.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version