Alternatively you can try
acpi-cpufreq
It is not so efficient as CPU specific modules, but better than nothing.
Now you can check actual CPU frequency and other information.
Thanks for the infoAlternatively you can try
acpi-cpufreq
It is not so efficient as CPU specific modules, but better than nothing.
I thought acpi-cpufreq had taken over from the speedstep module to be the module usually required for Intel cpu's, but I may be mistaken
I would recommend powernowd, solves everything in a zap, why bother with the crapy cpufreq ?
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.
[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]
What is the modprobe for the intel atom processor kernel driver?Did you try acpi_cpufreq ? You can try speedstep also, depending on CPU model.Yes, I tried acpi_cpufreq. cpufreq-info responded with "hardware limits: 1.6Ghz - 1.6Ghz". No speed steps present.
tc@box:~$ cpufreq-info
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which need to switch frequency at the same time: 0
hardware limits: 800 MHz - 1.60 GHz
available frequency steps: 1.60 GHz, 1.33 GHz, 1.07 GHz, 800 MHz
available cpufreq governors: userspace, powersave, ondemand, conservative, performance
current policy: frequency should be within 1.60 GHz and 1.60 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.60 GHz.
analyzing CPU 1:
driver: acpi-cpufreq
CPUs which need to switch frequency at the same time: 1
hardware limits: 800 MHz - 1.60 GHz
available frequency steps: 1.60 GHz, 1.33 GHz, 1.07 GHz, 800 MHz
available cpufreq governors: userspace, powersave, ondemand, conservative, performance
current policy: frequency should be within 1.60 GHz and 1.60 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.60 GHz.
It's interesting that cpufreq does not know about the HD super performance mode (1.8Ghz) that Zandros supports.
It's interesting that cpufreq does not know about the HD super performance mode (1.8Ghz) that Zandros supports.
Thanks for the link. Please see the additions to my previous post for more problems.
It's interesting that cpufreq does not know about the HD super performance mode (1.8Ghz) that Zandros supports.
Most likely because it is not an official CPU frequency, it is overclocking. You may read this:
http://www.liliputing.com/2009/03/intel-atom-n280-cpu-can-hit-175ghz-with-ease.html
tc@box:~$ sudo cpufreqd-get -l
No cpufreqd socket found
If all else fails, read the info file, eh ;)I'm confused... what do you mean? What are you referring to in the info?
It could be that the cpufreq daemon overrides your terminal commands?
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors - shows all gov's
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - shows current gov
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq - shows current freq
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - shows min freq
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - shows max freq
Title: cpufreq.tcel info file
Description: cpufreq for tc_2.X
Version: 2.3.4
Author: see list of sites below
Original-site: see list of sites below
Copying-policy: see list of sites below
Size: 65KB
Extension_by: juanito
Comments: cpufreqd and cpufrequtils for tinycore_2.x
requires acpid.tce, cpufreq-2.6.29.1-tinycore.tcem
----------
Example howto:
$ sudo modprobe acpi-cpufreq [beware - choose the correct module for your cpu]
$ sudo modprobe cpufreq_conservative
$ sudo modprobe cpufreq_ondemand
$ sudo modprobe cpufreq_powersave
$ sudo modprobe cpufreq_userspace
$ sudo acpid
$ sudo cpufreqd
----------
config file at:
/usr/local/etc/cpufreqd.conf
----------
This extension contains:
cpufrequtils-005 - GPLv2 - http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-005.tar.bz2
cpufreqd-2.3.4 - GPLv2 - http://garr.dl.sourceforge.net/sourceforge/cpufreqd/cpufreqd-2.3.4.tar.bz2
----------
Change-log: First version
Current: 2009/04/28
Did you change the governor to userspace?
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)
modprobe powernow-k8
modprobe cpufreq_ondemand
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
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.
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.
I do not have Eeepc900 in hand but according to different articles its BIOS supports scaling via ACPI so it is expected to work. I see Kernel patches to support Eeepc900 back in November 2008. Do not know wether the current TC kernel supports it or not.
root@box:~# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 8
model name : AMD Sempron(tm) 2500+
stepping : 1
cpu MHz : 1748.190
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow up
bogomips : 3497.06
clflush size : 32
power management: ts
root@box:~# modprobe powernow-k7
modprobe: failed to load module powernow-k7: No such device
root@box:~# modprobe acpi-cpufreq
modprobe: failed to load module acpi-cpufreq: No such device
root@box:~#
I have a Sempron 2800+ and I'm using powernow-k8 right now...
I have a Sempron 2800+ and I'm using powernow-k8 right now...
On which TC version?
info:
processor id: 0
acpi id: 0
bus mastering control: no
power management: no
throttling control: no
limit interface: no
limit:
<not supported>
power:
active state: C0
max_cstate: C8
bus master activity: 00000000
maximum allowed latency: 2000000000 usec
states:
throttling
<not supported>
tc@box:~$ /proc/acpi/processor/CPU0/cat info
processor id: 0
acpi id: 0
bus mastering control: no
power management: no
throttling control: no
limit interface: no
tc@box:/proc/acpi/processor/CPU0$ cat limit
<not supported>
tc@box:/proc/acpi/processor/CPU0$ cat throttling
<not supported>
tc@box:/proc/acpi/processor/CPU0$ cat power
active state: C0
max_cstate: C8
bus master activity: 00000000
maximum allowed latency: 2000000000 usec
states:
C1: type[C1] promotion[--] demotion[--] latency[000] usage[00000000] duration[00000000000000000000]
tc@box:/proc/acpi/processor/CPU0$ lsmod
Module Size Used by Not tainted
vfat 5652 0
fat 29692 1 vfat
cpufreq_ondemand 2928 1
powernow_k8 8676 0
freq_table 1208 2 cpufreq_ondemand,powernow_k8
oss_usb 92044 1
oss_via823x 7196 1
osscore 509140 4 oss_usb,oss_via823x
rt73usb 13580 0
rt2x00usb 4360 1 rt73usb
rt2x00lib 14536 2 rt73usb,rt2x00usb
rfkill 4012 2 rt2x00lib
mac80211 82100 2 rt2x00usb,rt2x00lib
cfg80211 21604 2 rt2x00lib,mac80211
pcmcia 13964 0
firmware_class 3188 2 rt2x00lib,pcmcia
squashfs 11732 55
yenta_socket 13336 2
scsi_wait_scan 260 0
rsrc_nonstatic 5744 1 yenta_socket
parport_pc 18352 0
via_rhine 12476 0
parport 18768 1 parport_pc
wmi 2952 0
battery 5976 0
pcmcia_core 16976 3 pcmcia,yenta_socket,rsrc_nonstatic
ac 1732 0
tc@box:~$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 8
model name : Mobile AMD Sempron(tm) Processor 2800+
stepping : 2
cpu MHz : 800.000
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext 3dnowext 3dnow up lahf_lm
bogomips : 1601.67
clflush size : 64
power management: ts fid vid ttp