Tiny Core Extensions > TCE Tips & Tricks
Cpu frequency scaling basics
bmarkus:
--- Quote from: pema on July 12, 2009, 03:45:00 PM ---I would recommend powernowd, solves everything in a zap, why bother with the crapy cpufreq ?
--- End quote ---
Please read the article carefully. cpufreq is a 2.6 kernel stuff and the low level part of frequency scaling, far away being crapy. However you are free to use whatever userspace program as you want.
Regarding your advice, it is written on the author's WEB as the latest news:
--- Quote ---What's New (1/27/2008)
Took me long enough, but this is the final release of powernowd. The ondemand kernel governor seems to be the wave of the future, and "good enough for me". I do still use it on older kernels, and it's been rock steady for years. v1.00 is just a couple of small cleanups, and running it through valgrind to clean a couple of pedantic memory issues. PowerNowd does everything it set out to do, and is small, efficient, and complete. Barring any brown-paper-bag style bugs, this will be the final release.
--- End quote ---
http://www.deater.net/john/powernowd.html
Regards...
bigpcman:
--- Code: ---[quote author=bmarkus link=topic=2259.msg11856#msg11856 date=1246955574]
[center][b][size=12pt]CPU FREQUENCY SCALING BASICS[/size][/b][/center]
To reduce power consumption is essential for portable computers but there are no reason not to use on desktop machines. You can save power turning off not needed hardware components like WiFi, Bluetooth, turning off or reduce monitor backlight, spinning down HDD and to control CPU frequency.
CPU frequency scaling is built into 2.6 kernel and available with Tiny Core also, but you need few additional tools and you have to setup it yourself. Most of the modern CPU's and chipsets support frequency scaling, there is a high chance that you can use it.
It is a short introductory article how to enable and use it. There are plenty of additional recources on the net.
[b]TOOLS REQUIRED[/b]
You need the [b]cpufreq.tcel[/b] or [b]cpufreq.tczl[/b] extension and its dependencies from the repository.
[b]CPU DRIVER[/b]
Next you have to load the proper CPU kernel driver matching your CPU. To identify the CPU type in a terminal window:
cat /proc/cpuinfo
Depending on the CPU, load one of the following modules with the 'modprobe' command:
p4-clockmod (Intel)
powernow-k6 (AMD K6)
powernow-k7 (AMD K7)
powernow-k8 (AMD K8)
If you choose a wrong driver you will get an error message and module is not loaded, nothing goes wrong.
Alternatively you can try
acpi-cpufreq
It is not so efficient as CPU specific modules, but better than nothing.
There are drivers for certain chipsets not only for CPU's but it is out of the scope of this introduction.
[b]VIEW CPU FREQUENCY INFORMATION[/b]
Now you can check actual CPU frequency and other information. Type in a terminal window:
cpufreq-info
and you will get a similar screen:
[img]http://tc.hasix.org/scrcap/cpufreqinfo1.png[/img]
[b]GOVERNORS[/b]
Governors are kernel modules changing the CPU frequency. There are different governors implementing different rules:
powersave - sets the lowest possible frequency constantly
performance - sets the possible highest frequency constantly
ondemand - changes frequency automatically based upon actual demand of programs
conservative - same as ondemand but with a different algorithm, better for notebook battery
use
userspace - allows userspace programs (or any process running as root) to set the frequency
Above governors are modules, loaded automatically when needed, but you can modprobe them before using. Default is performance.
For most systems, the Ondemand governor can provide the best compromise between heat emission, power consumption, performance, and manageability. When the system is only busy at specific times of the day, the Ondemand governor will automatically switch between maximum and minimum frequency depending on the load without any further intervention.
[b]SELECT GOVERNOR[/b]
At this point everything is prepared but no active governor selected and no running third party daemon installed, so no any power saving yet.
Use the 'cpufreq-set' command to activate one of the governors mentioned above, for example:
cpufreq-set -g ondemand
Please note, if you have a dual-core or multiple-core CPU, you must specify explicitely the CPU. There are CPU's where each core can run with different setting! Example for a dual-core CPU:
cpufreq-set -c 0 -g conservative
cpufreq-set -c 1 -g conservative
You can explicitely specify the frequency also.
[b]MAN PAGES[/b]
You can read man pages here:
http://linux.die.net/man/1/cpufreq-info
http://linux.die.net/man/1/cpufreq-set
[b]USER SPACE PROGRAMS[/b]
There are user space programs to manage not only cpu frequency but other components also. One of those, cpufreqd is part of the cpufreq.tcel/tcpufreq.tczl extension installed.
For the curious there are many good articles on the net.
Hope it helps a bit to understand and use frequency scaling.
[/quote]
--- End code ---
What is the modprobe for the intel atom processor kernel driver?
I don't think it's any of these:
p4-clockmod (Intel)
powernow-k6 (AMD K6)
powernow-k7 (AMD K7)
powernow-k8 (AMD K8)
bmarkus:
Did you try acpi_cpufreq ? You can try speedstep also, depending on CPU model.
bigpcman:
--- Quote from: bmarkus on August 13, 2009, 01:01:32 AM ---Did you try acpi_cpufreq ? You can try speedstep also, depending on CPU model.
--- End quote ---
Yes, I tried acpi_cpufreq. cpufreq-info responded with "hardware limits: 1.6Ghz - 1.6Ghz". No speed steps present.
bmarkus:
What is the CPU model?
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version