<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.57.243.127</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.57.243.127"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/84.57.243.127"/>
	<updated>2026-05-16T23:42:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_cpufreqd&amp;diff=18102</id>
		<title>How to configure cpufreqd</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_configure_cpufreqd&amp;diff=18102"/>
		<updated>2006-01-15T20:13:55Z</updated>

		<summary type="html">&lt;p&gt;84.57.243.127: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NOTE|Make sure you have the appropriate kernel modules loaded, such as ''cpufreq_powersave'', ''cpufreq_userspace'', and ''cpufreq_ondemand'' (see above note).}}&lt;br /&gt;
&lt;br /&gt;
In Debian, all you have to do is:&lt;br /&gt;
:{{cmdroot|apt-get install cpufreqd}}&lt;br /&gt;
&lt;br /&gt;
And in most cases it will work out of the box.&lt;br /&gt;
&lt;br /&gt;
This is the default Debian config, but works well out of the box. Notice that the syntax for the config file has changed in cpufreqd-2.0.0, where you need to close [] sections with tags like [/Profile] or [/Rule].&lt;br /&gt;
&lt;br /&gt;
 # this is a comment&lt;br /&gt;
 #&lt;br /&gt;
 # you need: 1 [General] section,&lt;br /&gt;
 #           1 or more [Profile] sections&lt;br /&gt;
 #                1 or more [Rule] sections&lt;br /&gt;
 #&lt;br /&gt;
 # a section ends at the first blank line&lt;br /&gt;
 #&lt;br /&gt;
 # [Rule] sample:&lt;br /&gt;
 #           [Rule]&lt;br /&gt;
 #           name=sample_rule&lt;br /&gt;
 #           ac=on                    # (on/off)&lt;br /&gt;
 #           battery_interval=0-10&lt;br /&gt;
 #           cpu_interval=30-60&lt;br /&gt;
 #           programs=xine,mplayer&lt;br /&gt;
 #           profile=sample_profile&lt;br /&gt;
 #&lt;br /&gt;
 # [Profile] sample:&lt;br /&gt;
 #           [Profile]&lt;br /&gt;
 #           name=sample_profile&lt;br /&gt;
 #           minfreq=10%&lt;br /&gt;
 #           maxfreq=100%&lt;br /&gt;
 #           policy=performance&lt;br /&gt;
 #&lt;br /&gt;
 # see CPUFREQD.CONF(5) manpage for a complete reference&lt;br /&gt;
 &lt;br /&gt;
 [General]&lt;br /&gt;
 pidfile=/var/run/cpufreqd.pid&lt;br /&gt;
 poll_interval=2&lt;br /&gt;
 pm_type=acpi #(acpi, apm or pmu)&lt;br /&gt;
 # Uncomment the following line to enable ACPI workaround (see cpufreqd.conf(5)) # acpi_workaround=1&lt;br /&gt;
 verbosity=4 #(if you want a minimal logging set to 5)&lt;br /&gt;
 &lt;br /&gt;
 [Profile]&lt;br /&gt;
 name=hi_boost&lt;br /&gt;
 minfreq=66%&lt;br /&gt;
 maxfreq=100%&lt;br /&gt;
 policy=performance&lt;br /&gt;
 &lt;br /&gt;
 [Profile]&lt;br /&gt;
 name=medium_boost&lt;br /&gt;
 minfreq=33%&lt;br /&gt;
 maxfreq=66%&lt;br /&gt;
 policy=performance&lt;br /&gt;
 &lt;br /&gt;
 [Profile]&lt;br /&gt;
 name=lo_boost&lt;br /&gt;
 minfreq=0%&lt;br /&gt;
 maxfreq=33%&lt;br /&gt;
 policy=performance&lt;br /&gt;
 &lt;br /&gt;
 [Profile]&lt;br /&gt;
 name=lo_power&lt;br /&gt;
 minfreq=0%&lt;br /&gt;
 maxfreq=33%&lt;br /&gt;
 policy=powersave&lt;br /&gt;
 &lt;br /&gt;
 # conservative mode when not AC&lt;br /&gt;
 [Rule]&lt;br /&gt;
 name=conservative&lt;br /&gt;
 ac=off                   # (on/off)&lt;br /&gt;
 battery_interval=0-100&lt;br /&gt;
 cpu_interval=0-40&lt;br /&gt;
 cpu_nice_scale=1.5&lt;br /&gt;
 delay_cycles=3&lt;br /&gt;
 profile=lo_boost&lt;br /&gt;
 &lt;br /&gt;
 # need some power&lt;br /&gt;
 [Rule]&lt;br /&gt;
 name=lo_cpu_boost&lt;br /&gt;
 ac=off                   # (on/off)&lt;br /&gt;
 battery_interval=0-100&lt;br /&gt;
 cpu_interval=30-80&lt;br /&gt;
 profile=medium_boost&lt;br /&gt;
 &lt;br /&gt;
 # need big power (not if battery very low)&lt;br /&gt;
 [Rule]&lt;br /&gt;
 name=hi_cpu_boost&lt;br /&gt;
 ac=off                   # (on/off)&lt;br /&gt;
 battery_interval=50-100&lt;br /&gt;
 cpu_interval=70-100&lt;br /&gt;
 profile=medium_boost&lt;br /&gt;
 &lt;br /&gt;
 # full power when AC&lt;br /&gt;
 [Rule]&lt;br /&gt;
 name=AC_on&lt;br /&gt;
 ac=on                   # (on/off)&lt;br /&gt;
 profile=hi_boost&lt;br /&gt;
 &lt;br /&gt;
 # full power when watching DVDs and not AC:&lt;br /&gt;
 # this is the last rule and takes less&lt;br /&gt;
 # precedence with respect to the others&lt;br /&gt;
 [Rule]&lt;br /&gt;
 name=dvd_watching&lt;br /&gt;
 ac=off                   # (on/off)&lt;br /&gt;
 battery_interval=0-100&lt;br /&gt;
 programs=xine,totem,vlc,avidemux&lt;br /&gt;
 cpu_interval=0-100&lt;br /&gt;
 profile=hi_boost&lt;/div&gt;</summary>
		<author><name>84.57.243.127</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_cpufreqd&amp;diff=18101</id>
		<title>How to configure cpufreqd</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_configure_cpufreqd&amp;diff=18101"/>
		<updated>2006-01-15T20:12:28Z</updated>

		<summary type="html">&lt;p&gt;84.57.243.127: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NOTE|Make sure you have the appropriate kernel modules loaded, such as ''cpufreq_powersave'', ''cpufreq_userspace'', and ''cpufreq_ondemand'' (see above note).}}&lt;br /&gt;
&lt;br /&gt;
In Debian, all you have to do is:&lt;br /&gt;
:{{cmdroot|apt-get install cpufreqd}}&lt;br /&gt;
&lt;br /&gt;
And in most cases it will work out of the box.&lt;br /&gt;
&lt;br /&gt;
This is the default Debian config, but works well out of the box:&lt;br /&gt;
&lt;br /&gt;
 # this is a comment&lt;br /&gt;
 #&lt;br /&gt;
 # you need: 1 [General] section,&lt;br /&gt;
 #           1 or more [Profile] sections&lt;br /&gt;
 #                1 or more [Rule] sections&lt;br /&gt;
 #&lt;br /&gt;
 # a section ends at the first blank line&lt;br /&gt;
 #&lt;br /&gt;
 # [Rule] sample:&lt;br /&gt;
 #           [Rule]&lt;br /&gt;
 #           name=sample_rule&lt;br /&gt;
 #           ac=on                    # (on/off)&lt;br /&gt;
 #           battery_interval=0-10&lt;br /&gt;
 #           cpu_interval=30-60&lt;br /&gt;
 #           programs=xine,mplayer&lt;br /&gt;
 #           profile=sample_profile&lt;br /&gt;
 #&lt;br /&gt;
 # [Profile] sample:&lt;br /&gt;
 #           [Profile]&lt;br /&gt;
 #           name=sample_profile&lt;br /&gt;
 #           minfreq=10%&lt;br /&gt;
 #           maxfreq=100%&lt;br /&gt;
 #           policy=performance&lt;br /&gt;
 #&lt;br /&gt;
 # see CPUFREQD.CONF(5) manpage for a complete reference&lt;br /&gt;
 &lt;br /&gt;
 [General]&lt;br /&gt;
 pidfile=/var/run/cpufreqd.pid&lt;br /&gt;
 poll_interval=2&lt;br /&gt;
 pm_type=acpi #(acpi, apm or pmu)&lt;br /&gt;
 # Uncomment the following line to enable ACPI workaround (see cpufreqd.conf(5)) # acpi_workaround=1&lt;br /&gt;
 verbosity=4 #(if you want a minimal logging set to 5)&lt;br /&gt;
 &lt;br /&gt;
 [Profile]&lt;br /&gt;
 name=hi_boost&lt;br /&gt;
 minfreq=66%&lt;br /&gt;
 maxfreq=100%&lt;br /&gt;
 policy=performance&lt;br /&gt;
 &lt;br /&gt;
 [Profile]&lt;br /&gt;
 name=medium_boost&lt;br /&gt;
 minfreq=33%&lt;br /&gt;
 maxfreq=66%&lt;br /&gt;
 policy=performance&lt;br /&gt;
 &lt;br /&gt;
 [Profile]&lt;br /&gt;
 name=lo_boost&lt;br /&gt;
 minfreq=0%&lt;br /&gt;
 maxfreq=33%&lt;br /&gt;
 policy=performance&lt;br /&gt;
 &lt;br /&gt;
 [Profile]&lt;br /&gt;
 name=lo_power&lt;br /&gt;
 minfreq=0%&lt;br /&gt;
 maxfreq=33%&lt;br /&gt;
 policy=powersave&lt;br /&gt;
 &lt;br /&gt;
 # conservative mode when not AC&lt;br /&gt;
 [Rule]&lt;br /&gt;
 name=conservative&lt;br /&gt;
 ac=off                   # (on/off)&lt;br /&gt;
 battery_interval=0-100&lt;br /&gt;
 cpu_interval=0-40&lt;br /&gt;
 cpu_nice_scale=1.5&lt;br /&gt;
 delay_cycles=3&lt;br /&gt;
 profile=lo_boost&lt;br /&gt;
 &lt;br /&gt;
 # need some power&lt;br /&gt;
 [Rule]&lt;br /&gt;
 name=lo_cpu_boost&lt;br /&gt;
 ac=off                   # (on/off)&lt;br /&gt;
 battery_interval=0-100&lt;br /&gt;
 cpu_interval=30-80&lt;br /&gt;
 profile=medium_boost&lt;br /&gt;
 &lt;br /&gt;
 # need big power (not if battery very low)&lt;br /&gt;
 [Rule]&lt;br /&gt;
 name=hi_cpu_boost&lt;br /&gt;
 ac=off                   # (on/off)&lt;br /&gt;
 battery_interval=50-100&lt;br /&gt;
 cpu_interval=70-100&lt;br /&gt;
 profile=medium_boost&lt;br /&gt;
 &lt;br /&gt;
 # full power when AC&lt;br /&gt;
 [Rule]&lt;br /&gt;
 name=AC_on&lt;br /&gt;
 ac=on                   # (on/off)&lt;br /&gt;
 profile=hi_boost&lt;br /&gt;
 &lt;br /&gt;
 # full power when watching DVDs and not AC:&lt;br /&gt;
 # this is the last rule and takes less&lt;br /&gt;
 # precedence with respect to the others&lt;br /&gt;
 [Rule]&lt;br /&gt;
 name=dvd_watching&lt;br /&gt;
 ac=off                   # (on/off)&lt;br /&gt;
 battery_interval=0-100&lt;br /&gt;
 programs=xine,totem,vlc,avidemux&lt;br /&gt;
 cpu_interval=0-100&lt;br /&gt;
 profile=hi_boost&lt;/div&gt;</summary>
		<author><name>84.57.243.127</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=18100</id>
		<title>How to make use of Dynamic Frequency Scaling</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=18100"/>
		<updated>2006-01-15T20:11:42Z</updated>

		<summary type="html">&lt;p&gt;84.57.243.127: /* Using Frequency Scaling Governors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
Linux supports dynamic frequency scaling for systems with the following processors:&lt;br /&gt;
&lt;br /&gt;
*Mobile Pentium III&lt;br /&gt;
*Pentium 4&lt;br /&gt;
*Pentium M&lt;br /&gt;
*Mobile Athlon&lt;br /&gt;
*AMD64&lt;br /&gt;
*Opteron&lt;br /&gt;
&lt;br /&gt;
==Debian notes==&lt;br /&gt;
Instead of compiling your own kernel, you can use the  {{Debian}} &amp;quot;stock&amp;quot; kernel. In Unstable/SID the 2.6.12 kernel image with an {{path|/etc/modules}} file that includes:&lt;br /&gt;
&lt;br /&gt;
 battery&lt;br /&gt;
 ac&lt;br /&gt;
 thermal&lt;br /&gt;
 processor&lt;br /&gt;
 acpi-cpufreq&lt;br /&gt;
 cpufreq-userspace&lt;br /&gt;
&lt;br /&gt;
With the powernowd package and you should be setup.&lt;br /&gt;
&lt;br /&gt;
===Configuring the Kernel===&lt;br /&gt;
====2.4 Kernels====&lt;br /&gt;
There were various frequency scaling implementations in the 2.4 series of kernels. They all were preliminary and a standard was rised with the introduction of the sysfs filesystem in 2.6 kernels. It is recommended to use a 2.6 kernel, if possible.&lt;br /&gt;
&lt;br /&gt;
====2.6 Kernels====&lt;br /&gt;
You need to enable the cpu frequency scaling for your kernel (usually your distros kernel will have this enabled):&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
You need to enable governors, if not already done in your distros default kernel:&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_PERFORMANCE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_POWERSAVE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_USERSPACE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
Since 2.6.10 there is the ondemand governor that does cpu frequency scaling in kernel and can be used as an alternative to powernowd etc.&lt;br /&gt;
It can be enabled with:&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_ONDEMAND|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
Since 2.6.12 there is the conservative governor that works similar to the ondemand governor.&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_CONSERVATIVE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
ondemand and conservative differ in the way they scale up and down. The ondemand governor switches to the highest frequency immediately when there is load, while the conservative governor increases frequency step by step. Likewise they behave the other way round for stepping down frequency when the CPU is idle.&lt;br /&gt;
&lt;br /&gt;
==Using the Sys Interface==&lt;br /&gt;
&lt;br /&gt;
The files in {{path|/sys/devices/system/cpu/cpu0/cpufreq/}} provide information and a means of controlling the frequency scaling subsystem.&lt;br /&gt;
Seed values are given in Khz. You need to be root to access the /sys filesystem.&lt;br /&gt;
&lt;br /&gt;
Your max speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}&lt;br /&gt;
:{{cmdresult|700000}}&lt;br /&gt;
Your min speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}&lt;br /&gt;
:{{cmdresult|500000}}&lt;br /&gt;
If you are using the userspace governor, you can write to {{path|/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}} to change the current speed.&lt;br /&gt;
:{{cmdroot|echo 700000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 697.252}}&lt;br /&gt;
:{{cmdroot|echo 900000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 976.152}}&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Governors==&lt;br /&gt;
You can compile the scaling governors into your kernel or compile it as module. You'll find the governors with 'make menuconfig' here:&lt;br /&gt;
:{{kernelconf||||CPU Frequency scaling|Power management options (ACPI, APM)|||}}&lt;br /&gt;
&lt;br /&gt;
After booting the new kernel you can get a list of available governors with (as root):&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors}}&lt;br /&gt;
:{{cmdresult|conservative ondemand powersave userspace performance}}&lt;br /&gt;
&lt;br /&gt;
A Short Overview over the available governors:&lt;br /&gt;
:;ondemand&lt;br /&gt;
::This driver is a dynamic cpufreq policy governor. It changes frequency based on the processor load and may not work on older laptops without Enhanced SpeedStep.&lt;br /&gt;
:;conservative&lt;br /&gt;
::New since 2.6.12. Similar to ''ondemand''. Optimized for battery powered environments and AMD64. Again, this governor may not work on older ThinkPads like the T21.&lt;br /&gt;
:;powersave&lt;br /&gt;
::Like the name says, your battery would choose this one ;). It sets the Frequency always to the lowest available.&lt;br /&gt;
:;userspace&lt;br /&gt;
::You have to choose this one, if you want to set the frequency manually. Some [[#Using Frequency Scaling Daemons|frequency scaling daemons]] require this governor to operate correctly.&lt;br /&gt;
:;performance&lt;br /&gt;
::This governor sets your Frequency always to the highest available.&lt;br /&gt;
&lt;br /&gt;
Now we set our governor:&lt;br /&gt;
What is our current governor?&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|userspace}}&lt;br /&gt;
Set new governor and watch if it has changed&lt;br /&gt;
:{{cmdroot|echo conservative &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|conservative}}&lt;br /&gt;
&lt;br /&gt;
Congrats! Your governor is active.&lt;br /&gt;
&lt;br /&gt;
You may set the governor in your rc.local, to make it used on every boot.&lt;br /&gt;
&lt;br /&gt;
Debian has no rc.local, so read [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-custombootscripts this] and [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-booting this].&lt;br /&gt;
&lt;br /&gt;
A better alternative for Debian than modifying bootscripts, is to install the [http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&amp;amp;version=all&amp;amp;exact=1&amp;amp;keywords=sysfsutils sysfsutils package]. Then edit /etc/sysfs.conf (as root), where you can setup values to sysfs entries that you want to be modified automatically on boot.&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Daemons==&lt;br /&gt;
Don't forget to enable the userspace governor to have a userspace daemon do the frequency scaling. If it is built as module, load it as &amp;lt;tt&amp;gt;cpufreq-userspace&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are plenty of userspace frequency scaling daemons available:&lt;br /&gt;
&lt;br /&gt;
*[[How to configure cpufreqd | cpufreqd]]&lt;br /&gt;
*[[How to configure cpudynd | cpudynd]]&lt;br /&gt;
*[[How to configure speedfreqd | speedfreqd]]&lt;br /&gt;
*[[How to configure powersaved | powersaved]]&lt;br /&gt;
*[[How to configure powernowd | powernowd]]&lt;br /&gt;
*[[How to use cpufrequtils | cpufrequtils]]&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
*If you have a Coppermine-piix-smi based Thinkpads like from the A2x, X2x and T2x series you need to enable the &amp;lt;tt&amp;gt;speedstep-smi&amp;lt;/tt&amp;gt; driver in the kernel and load it if it's built as module. You might want to look at [[How to get SpeedStep working on Coppermine-piix4-smi based Thinkpads | this page]].&lt;br /&gt;
&lt;br /&gt;
*If you have a p4-class celeron based Thinkpad like the R40e you might want to look at [[How to get SpeedStep working on P4-class-Celeron based Thinkpads | this page]]&lt;br /&gt;
&lt;br /&gt;
==Finetuning voltages and available frequencies==&lt;br /&gt;
See [[Pentium M undervolting and underclocking]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:600X]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:i1200]] [[Category:i1300]] [[Category:i1620]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50e]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:TransNote]]&lt;/div&gt;</summary>
		<author><name>84.57.243.127</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=18098</id>
		<title>How to make use of Dynamic Frequency Scaling</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=18098"/>
		<updated>2006-01-15T20:06:17Z</updated>

		<summary type="html">&lt;p&gt;84.57.243.127: /* 2.6 Kernels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
Linux supports dynamic frequency scaling for systems with the following processors:&lt;br /&gt;
&lt;br /&gt;
*Mobile Pentium III&lt;br /&gt;
*Pentium 4&lt;br /&gt;
*Pentium M&lt;br /&gt;
*Mobile Athlon&lt;br /&gt;
*AMD64&lt;br /&gt;
*Opteron&lt;br /&gt;
&lt;br /&gt;
==Debian notes==&lt;br /&gt;
Instead of compiling your own kernel, you can use the  {{Debian}} &amp;quot;stock&amp;quot; kernel. In Unstable/SID the 2.6.12 kernel image with an {{path|/etc/modules}} file that includes:&lt;br /&gt;
&lt;br /&gt;
 battery&lt;br /&gt;
 ac&lt;br /&gt;
 thermal&lt;br /&gt;
 processor&lt;br /&gt;
 acpi-cpufreq&lt;br /&gt;
 cpufreq-userspace&lt;br /&gt;
&lt;br /&gt;
With the powernowd package and you should be setup.&lt;br /&gt;
&lt;br /&gt;
===Configuring the Kernel===&lt;br /&gt;
====2.4 Kernels====&lt;br /&gt;
There were various frequency scaling implementations in the 2.4 series of kernels. They all were preliminary and a standard was rised with the introduction of the sysfs filesystem in 2.6 kernels. It is recommended to use a 2.6 kernel, if possible.&lt;br /&gt;
&lt;br /&gt;
====2.6 Kernels====&lt;br /&gt;
You need to enable the cpu frequency scaling for your kernel (usually your distros kernel will have this enabled):&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
You need to enable governors, if not already done in your distros default kernel:&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_PERFORMANCE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_POWERSAVE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_USERSPACE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
Since 2.6.10 there is the ondemand governor that does cpu frequency scaling in kernel and can be used as an alternative to powernowd etc.&lt;br /&gt;
It can be enabled with:&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_ONDEMAND|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
Since 2.6.12 there is the conservative governor that works similar to the ondemand governor.&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_CONSERVATIVE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
ondemand and conservative differ in the way they scale up and down. The ondemand governor switches to the highest frequency immediately when there is load, while the conservative governor increases frequency step by step. Likewise they behave the other way round for stepping down frequency when the CPU is idle.&lt;br /&gt;
&lt;br /&gt;
==Using the Sys Interface==&lt;br /&gt;
&lt;br /&gt;
The files in {{path|/sys/devices/system/cpu/cpu0/cpufreq/}} provide information and a means of controlling the frequency scaling subsystem.&lt;br /&gt;
Seed values are given in Khz. You need to be root to access the /sys filesystem.&lt;br /&gt;
&lt;br /&gt;
Your max speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}&lt;br /&gt;
:{{cmdresult|700000}}&lt;br /&gt;
Your min speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}&lt;br /&gt;
:{{cmdresult|500000}}&lt;br /&gt;
If you are using the userspace governor, you can write to {{path|/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}} to change the current speed.&lt;br /&gt;
:{{cmdroot|echo 700000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 697.252}}&lt;br /&gt;
:{{cmdroot|echo 900000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 976.152}}&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Governors==&lt;br /&gt;
You can compile the scaling governors into your kernel or compile it as module. You'll find the governors with 'make menuconfig' here:&lt;br /&gt;
:{{kernelconf||||CPU Frequency scaling|Power management options (ACPI, APM)|||}}&lt;br /&gt;
&lt;br /&gt;
After booting the new kernel you can get a list of available governors with (as root):&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors}}&lt;br /&gt;
:{{cmdresult|conservative ondemand powersave userspace performance}}&lt;br /&gt;
&lt;br /&gt;
A Short Overview over the available governors:&lt;br /&gt;
:;ondemand&lt;br /&gt;
::This driver is a dynamic cpufreq policy governor. It changes frequency based on the processor load and may not work on older laptops without Enhanced SpeedStep.&lt;br /&gt;
:;conservative&lt;br /&gt;
::New since 2.6.12. Similar to ''ondemand''. Optimized for battery powered environments and AMD64. Again, this governor may not work on older ThinkPads like the T21.&lt;br /&gt;
:;powersave&lt;br /&gt;
::Like the name says, your battery would choose this one ;). It sets the Frequency always to the lowest available.&lt;br /&gt;
:;userspace&lt;br /&gt;
::You have to choose this one, if a [[#Using Frequency Scaling Daemons|frequency scaling daemon]] should manage your CPU frequency or you want to do it manually.&lt;br /&gt;
:;performance&lt;br /&gt;
::This governor sets your Frequency always to the highest available.&lt;br /&gt;
&lt;br /&gt;
Now we set our governor:&lt;br /&gt;
What is our current governor?&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|userspace}}&lt;br /&gt;
Set new governor and watch if it has changed&lt;br /&gt;
:{{cmdroot|echo conservative &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|conservative}}&lt;br /&gt;
&lt;br /&gt;
Congrats! Your governor is active.&lt;br /&gt;
&lt;br /&gt;
You may set the governor in your rc.local, to make it used on every boot.&lt;br /&gt;
&lt;br /&gt;
Debian has no rc.local, so read [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-custombootscripts this] and [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-booting this].&lt;br /&gt;
&lt;br /&gt;
A better alternative for Debian than modifying bootscripts, is to install the [http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&amp;amp;version=all&amp;amp;exact=1&amp;amp;keywords=sysfsutils sysfsutils package]. Then edit /etc/sysfs.conf (as root), where you can setup values to sysfs entries that you want to be modified automatically on boot.&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Daemons==&lt;br /&gt;
Don't forget to enable the userspace governor to have a userspace daemon do the frequency scaling. If it is built as module, load it as &amp;lt;tt&amp;gt;cpufreq-userspace&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are plenty of userspace frequency scaling daemons available:&lt;br /&gt;
&lt;br /&gt;
*[[How to configure cpufreqd | cpufreqd]]&lt;br /&gt;
*[[How to configure cpudynd | cpudynd]]&lt;br /&gt;
*[[How to configure speedfreqd | speedfreqd]]&lt;br /&gt;
*[[How to configure powersaved | powersaved]]&lt;br /&gt;
*[[How to configure powernowd | powernowd]]&lt;br /&gt;
*[[How to use cpufrequtils | cpufrequtils]]&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
*If you have a Coppermine-piix-smi based Thinkpads like from the A2x, X2x and T2x series you need to enable the &amp;lt;tt&amp;gt;speedstep-smi&amp;lt;/tt&amp;gt; driver in the kernel and load it if it's built as module. You might want to look at [[How to get SpeedStep working on Coppermine-piix4-smi based Thinkpads | this page]].&lt;br /&gt;
&lt;br /&gt;
*If you have a p4-class celeron based Thinkpad like the R40e you might want to look at [[How to get SpeedStep working on P4-class-Celeron based Thinkpads | this page]]&lt;br /&gt;
&lt;br /&gt;
==Finetuning voltages and available frequencies==&lt;br /&gt;
See [[Pentium M undervolting and underclocking]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:600X]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:i1200]] [[Category:i1300]] [[Category:i1620]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50e]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:TransNote]]&lt;/div&gt;</summary>
		<author><name>84.57.243.127</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=18097</id>
		<title>Talk:How to make use of Dynamic Frequency Scaling</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=18097"/>
		<updated>2006-01-15T20:02:16Z</updated>

		<summary type="html">&lt;p&gt;84.57.243.127: /* Obsolete daemons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CPUfreq &amp;quot;stuck&amp;quot; ==&lt;br /&gt;
Using the &amp;quot;acpi-cpufreq&amp;quot; and &amp;quot;processor&amp;quot; modules, I can use the performance and ondemand governor with great success on a T43, and it switches between 2.1 GHz and ~700 MHz without incident.  However, sometimes the processor becomes &amp;quot;stuck&amp;quot; at ~700 MHz, and when I switch to the performance governor &amp;quot;cat /proc/cpuinfo&amp;quot; notes it is still at ~700 MHz.&lt;br /&gt;
&lt;br /&gt;
I have not been able to precisely reproduce these conditions, but they have happened several times.  It is cured by a reboot.  I'm not running any userspace frequency governers.  Anybody else experienced this peculiar behavior? [[User:gsmenden|gsmenden]] 11:20, 10 JAN 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I had something similar on my T43. It seems that BIOS interfers with cpufreqd's operation. In the end I set BIOS to &amp;quot;maximum performance&amp;quot; when the laptop is on AC, and let cpufreqd keep track of the speed. It seems to work for me (T43, 2669, 2.6.15-kernel)&lt;br /&gt;
&lt;br /&gt;
== CPU Speedstep management activation ==&lt;br /&gt;
I could not find the &amp;quot;processor&amp;quot; and &amp;quot;acpi-cpufreq&amp;quot; modules, thus leading to an empty /sys/devices/system/cpu/cpu0/ and preventing to set cpu throttling.&lt;br /&gt;
I found the speedstep-centrino module which enables the feature.&lt;br /&gt;
Environment : X41 (Pentium M), Debian Sid with custom 2.6.12 kernel.&lt;br /&gt;
Is the Debian part of the article outdated ? &lt;br /&gt;
Hope this helps,&lt;br /&gt;
Vincent&lt;br /&gt;
&lt;br /&gt;
== speedstep-smi for T22 ==&lt;br /&gt;
I had to use the speedstep-smi driver for my T22, not the speedstep-ich driver as stated in the how-to.&lt;br /&gt;
Thomas&lt;br /&gt;
----&lt;br /&gt;
Yes, it was a mistake. Thanks for the note. [[User:Wyrfel|Wyrfel]] 21:49, 27 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Extremely low freq on a T22 ==&lt;br /&gt;
&lt;br /&gt;
About an hour ago I made Speedstep work on a T22 running Ubuntu Breezy (5.10).  Before that I had the machine randomly boot at 700MHz or 900MHz.  That is nothing special.  But, earlier today, when I booted it, it was running at 187MHz, according to both /proc/cpuinfo and Gnome's CPU frequency applet.  It also took about 4 times as long to do some CPU-intensive processing than usually (grepping and sorting a known amount of text), so I'm still thinking that my Thinkpad really was running at 187MHz until I rebooted it.&lt;br /&gt;
&lt;br /&gt;
Has anyone else noticed anything like this?  Is there a way to replicate this behavior?  Is there a way to &amp;quot;enable&amp;quot; this &amp;quot;step&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
-- _sd&lt;br /&gt;
----&lt;br /&gt;
Yes, i brought my X20 down to similarly low frequencies also with Ubuntu. I think it's possible through ACPI throttling, but I'm not sure if that was actually how i did it.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 23:51, 9 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obsolete daemons ==&lt;br /&gt;
Removed the note about daemons being obsolete. Using ondemand/conservate is *not* a replacement for daemons, they are generally smarter than a fixed governor and can adapt to different situations better.&lt;/div&gt;</summary>
		<author><name>84.57.243.127</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=18096</id>
		<title>Talk:How to make use of Dynamic Frequency Scaling</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=18096"/>
		<updated>2006-01-15T20:01:07Z</updated>

		<summary type="html">&lt;p&gt;84.57.243.127: Obsolete daemons&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CPUfreq &amp;quot;stuck&amp;quot; ==&lt;br /&gt;
Using the &amp;quot;acpi-cpufreq&amp;quot; and &amp;quot;processor&amp;quot; modules, I can use the performance and ondemand governor with great success on a T43, and it switches between 2.1 GHz and ~700 MHz without incident.  However, sometimes the processor becomes &amp;quot;stuck&amp;quot; at ~700 MHz, and when I switch to the performance governor &amp;quot;cat /proc/cpuinfo&amp;quot; notes it is still at ~700 MHz.&lt;br /&gt;
&lt;br /&gt;
I have not been able to precisely reproduce these conditions, but they have happened several times.  It is cured by a reboot.  I'm not running any userspace frequency governers.  Anybody else experienced this peculiar behavior? [[User:gsmenden|gsmenden]] 11:20, 10 JAN 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I had something similar on my T43. It seems that BIOS interfers with cpufreqd's operation. In the end I set BIOS to &amp;quot;maximum performance&amp;quot; when the laptop is on AC, and let cpufreqd keep track of the speed. It seems to work for me (T43, 2669, 2.6.15-kernel)&lt;br /&gt;
&lt;br /&gt;
== CPU Speedstep management activation ==&lt;br /&gt;
I could not find the &amp;quot;processor&amp;quot; and &amp;quot;acpi-cpufreq&amp;quot; modules, thus leading to an empty /sys/devices/system/cpu/cpu0/ and preventing to set cpu throttling.&lt;br /&gt;
I found the speedstep-centrino module which enables the feature.&lt;br /&gt;
Environment : X41 (Pentium M), Debian Sid with custom 2.6.12 kernel.&lt;br /&gt;
Is the Debian part of the article outdated ? &lt;br /&gt;
Hope this helps,&lt;br /&gt;
Vincent&lt;br /&gt;
&lt;br /&gt;
== speedstep-smi for T22 ==&lt;br /&gt;
I had to use the speedstep-smi driver for my T22, not the speedstep-ich driver as stated in the how-to.&lt;br /&gt;
Thomas&lt;br /&gt;
----&lt;br /&gt;
Yes, it was a mistake. Thanks for the note. [[User:Wyrfel|Wyrfel]] 21:49, 27 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Extremely low freq on a T22 ==&lt;br /&gt;
&lt;br /&gt;
About an hour ago I made Speedstep work on a T22 running Ubuntu Breezy (5.10).  Before that I had the machine randomly boot at 700MHz or 900MHz.  That is nothing special.  But, earlier today, when I booted it, it was running at 187MHz, according to both /proc/cpuinfo and Gnome's CPU frequency applet.  It also took about 4 times as long to do some CPU-intensive processing than usually (grepping and sorting a known amount of text), so I'm still thinking that my Thinkpad really was running at 187MHz until I rebooted it.&lt;br /&gt;
&lt;br /&gt;
Has anyone else noticed anything like this?  Is there a way to replicate this behavior?  Is there a way to &amp;quot;enable&amp;quot; this &amp;quot;step&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
-- _sd&lt;br /&gt;
----&lt;br /&gt;
Yes, i brought my X20 down to similarly low frequencies also with Ubuntu. I think it's possible through ACPI throttling, but I'm not sure if that was actually how i did it.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 23:51, 9 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obsolete daemons ==&lt;/div&gt;</summary>
		<author><name>84.57.243.127</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=18095</id>
		<title>How to make use of Dynamic Frequency Scaling</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=18095"/>
		<updated>2006-01-15T20:00:16Z</updated>

		<summary type="html">&lt;p&gt;84.57.243.127: /* Using Frequency Scaling Daemons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
Linux supports dynamic frequency scaling for systems with the following processors:&lt;br /&gt;
&lt;br /&gt;
*Mobile Pentium III&lt;br /&gt;
*Pentium 4&lt;br /&gt;
*Pentium M&lt;br /&gt;
*Mobile Athlon&lt;br /&gt;
*AMD64&lt;br /&gt;
*Opteron&lt;br /&gt;
&lt;br /&gt;
==Debian notes==&lt;br /&gt;
Instead of compiling your own kernel, you can use the  {{Debian}} &amp;quot;stock&amp;quot; kernel. In Unstable/SID the 2.6.12 kernel image with an {{path|/etc/modules}} file that includes:&lt;br /&gt;
&lt;br /&gt;
 battery&lt;br /&gt;
 ac&lt;br /&gt;
 thermal&lt;br /&gt;
 processor&lt;br /&gt;
 acpi-cpufreq&lt;br /&gt;
 cpufreq-userspace&lt;br /&gt;
&lt;br /&gt;
With the powernowd package and you should be setup.&lt;br /&gt;
&lt;br /&gt;
===Configuring the Kernel===&lt;br /&gt;
====2.4 Kernels====&lt;br /&gt;
There were various frequency scaling implementations in the 2.4 series of kernels. They all were preliminary and a standard was rised with the introduction of the sysfs filesystem in 2.6 kernels. It is recommended to use a 2.6 kernel, if possible.&lt;br /&gt;
&lt;br /&gt;
====2.6 Kernels====&lt;br /&gt;
You need to enable the cpu frequency scaling for your kernel (usually your distros kernel will have this enabled):&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
You need to enable governors, if not already done in your distros default kernel:&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_PERFORMANCE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_POWERSAVE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_USERSPACE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
Since 2.6.10 there is the ondemand governor that does cpu frequency scaling in kernel so you dont need userspace programs like powernowd etc.&lt;br /&gt;
It can be enabled with:&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_ONDEMAND|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
Since 2.6.12 there is the conservative governor that works like the ondemand governor, but is recommended for laptops and AMD64:&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_CONSERVATIVE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
==Using the Sys Interface==&lt;br /&gt;
&lt;br /&gt;
The files in {{path|/sys/devices/system/cpu/cpu0/cpufreq/}} provide information and a means of controlling the frequency scaling subsystem.&lt;br /&gt;
Seed values are given in Khz. You need to be root to access the /sys filesystem.&lt;br /&gt;
&lt;br /&gt;
Your max speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}&lt;br /&gt;
:{{cmdresult|700000}}&lt;br /&gt;
Your min speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}&lt;br /&gt;
:{{cmdresult|500000}}&lt;br /&gt;
If you are using the userspace governor, you can write to {{path|/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}} to change the current speed.&lt;br /&gt;
:{{cmdroot|echo 700000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 697.252}}&lt;br /&gt;
:{{cmdroot|echo 900000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 976.152}}&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Governors==&lt;br /&gt;
You can compile the scaling governors into your kernel or compile it as module. You'll find the governors with 'make menuconfig' here:&lt;br /&gt;
:{{kernelconf||||CPU Frequency scaling|Power management options (ACPI, APM)|||}}&lt;br /&gt;
&lt;br /&gt;
After booting the new kernel you can get a list of available governors with (as root):&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors}}&lt;br /&gt;
:{{cmdresult|conservative ondemand powersave userspace performance}}&lt;br /&gt;
&lt;br /&gt;
A Short Overview over the available governors:&lt;br /&gt;
:;ondemand&lt;br /&gt;
::This driver is a dynamic cpufreq policy governor. It changes frequency based on the processor load and may not work on older laptops without Enhanced SpeedStep.&lt;br /&gt;
:;conservative&lt;br /&gt;
::New since 2.6.12. Similar to ''ondemand''. Optimized for battery powered environments and AMD64. Again, this governor may not work on older ThinkPads like the T21.&lt;br /&gt;
:;powersave&lt;br /&gt;
::Like the name says, your battery would choose this one ;). It sets the Frequency always to the lowest available.&lt;br /&gt;
:;userspace&lt;br /&gt;
::You have to choose this one, if a [[#Using Frequency Scaling Daemons|frequency scaling daemon]] should manage your CPU frequency or you want to do it manually.&lt;br /&gt;
:;performance&lt;br /&gt;
::This governor sets your Frequency always to the highest available.&lt;br /&gt;
&lt;br /&gt;
Now we set our governor:&lt;br /&gt;
What is our current governor?&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|userspace}}&lt;br /&gt;
Set new governor and watch if it has changed&lt;br /&gt;
:{{cmdroot|echo conservative &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|conservative}}&lt;br /&gt;
&lt;br /&gt;
Congrats! Your governor is active.&lt;br /&gt;
&lt;br /&gt;
You may set the governor in your rc.local, to make it used on every boot.&lt;br /&gt;
&lt;br /&gt;
Debian has no rc.local, so read [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-custombootscripts this] and [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-booting this].&lt;br /&gt;
&lt;br /&gt;
A better alternative for Debian than modifying bootscripts, is to install the [http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&amp;amp;version=all&amp;amp;exact=1&amp;amp;keywords=sysfsutils sysfsutils package]. Then edit /etc/sysfs.conf (as root), where you can setup values to sysfs entries that you want to be modified automatically on boot.&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Daemons==&lt;br /&gt;
Don't forget to enable the userspace governor to have a userspace daemon do the frequency scaling. If it is built as module, load it as &amp;lt;tt&amp;gt;cpufreq-userspace&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are plenty of userspace frequency scaling daemons available:&lt;br /&gt;
&lt;br /&gt;
*[[How to configure cpufreqd | cpufreqd]]&lt;br /&gt;
*[[How to configure cpudynd | cpudynd]]&lt;br /&gt;
*[[How to configure speedfreqd | speedfreqd]]&lt;br /&gt;
*[[How to configure powersaved | powersaved]]&lt;br /&gt;
*[[How to configure powernowd | powernowd]]&lt;br /&gt;
*[[How to use cpufrequtils | cpufrequtils]]&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
*If you have a Coppermine-piix-smi based Thinkpads like from the A2x, X2x and T2x series you need to enable the &amp;lt;tt&amp;gt;speedstep-smi&amp;lt;/tt&amp;gt; driver in the kernel and load it if it's built as module. You might want to look at [[How to get SpeedStep working on Coppermine-piix4-smi based Thinkpads | this page]].&lt;br /&gt;
&lt;br /&gt;
*If you have a p4-class celeron based Thinkpad like the R40e you might want to look at [[How to get SpeedStep working on P4-class-Celeron based Thinkpads | this page]]&lt;br /&gt;
&lt;br /&gt;
==Finetuning voltages and available frequencies==&lt;br /&gt;
See [[Pentium M undervolting and underclocking]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:600X]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:i1200]] [[Category:i1300]] [[Category:i1620]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50e]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:TransNote]]&lt;/div&gt;</summary>
		<author><name>84.57.243.127</name></author>
		
	</entry>
</feed>