1 menu "CPU Frequency scaling"
4 bool "CPU Frequency scaling"
6 CPU Frequency scaling allows you to change the clock speed of
7 CPUs on the fly. This is a nice method to save power, because
8 the lower the CPU clock speed, the less power the CPU consumes.
10 Note that this driver doesn't automatically change the CPU
11 clock speed, you need to either enable a dynamic cpufreq governor
12 (see below) after boot, or use a userspace tool.
14 For details, take a look at <file:Documentation/cpu-freq>.
24 tristate "CPU frequency translation statistics"
28 This driver exports CPU frequency statistics information through sysfs
31 To compile this driver as a module, choose M here: the
32 module will be called cpufreq_stats.
36 config CPU_FREQ_STAT_DETAILS
37 bool "CPU frequency translation statistics details"
38 depends on CPU_FREQ_STAT
40 This will show detail CPU frequency translation table in sysfs file
46 prompt "Default CPUFreq governor"
47 default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
48 default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
50 This option sets which CPUFreq governor shall be loaded at
51 startup. If in doubt, select 'performance'.
53 config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
55 select CPU_FREQ_GOV_PERFORMANCE
57 Use the CPUFreq governor 'performance' as default. This sets
58 the frequency statically to the highest frequency supported by
61 config CPU_FREQ_DEFAULT_GOV_POWERSAVE
64 select CPU_FREQ_GOV_POWERSAVE
66 Use the CPUFreq governor 'powersave' as default. This sets
67 the frequency statically to the lowest frequency supported by
70 config CPU_FREQ_DEFAULT_GOV_USERSPACE
72 select CPU_FREQ_GOV_USERSPACE
74 Use the CPUFreq governor 'userspace' as default. This allows
75 you to set the CPU frequency manually or when a userspace
76 program shall be able to set the CPU dynamically without having
77 to enable the userspace governor manually.
79 config CPU_FREQ_DEFAULT_GOV_ONDEMAND
81 select CPU_FREQ_GOV_ONDEMAND
82 select CPU_FREQ_GOV_PERFORMANCE
84 Use the CPUFreq governor 'ondemand' as default. This allows
85 you to get a full dynamic frequency capable system by simply
86 loading your cpufreq low-level hardware driver.
87 Be aware that not all cpufreq drivers support the ondemand
88 governor. If unsure have a look at the help section of the
89 driver. Fallback governor will be the performance governor.
91 config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
93 select CPU_FREQ_GOV_CONSERVATIVE
94 select CPU_FREQ_GOV_PERFORMANCE
96 Use the CPUFreq governor 'conservative' as default. This allows
97 you to get a full dynamic frequency capable system by simply
98 loading your cpufreq low-level hardware driver.
99 Be aware that not all cpufreq drivers support the conservative
100 governor. If unsure have a look at the help section of the
101 driver. Fallback governor will be the performance governor.
103 config CPU_FREQ_DEFAULT_GOV_INTERACTIVE
105 select CPU_FREQ_GOV_INTERACTIVE
107 Use the CPUFreq governor 'interactive' as default. This allows
108 you to get a full dynamic cpu frequency capable system by simply
109 loading your cpufreq low-level hardware driver, using the
110 'interactive' governor for latency-sensitive workloads.
112 config CPU_FREQ_DEFAULT_GOV_HOTPLUG
114 select CPU_FREQ_GOV_HOTPLUG
115 select CPU_FREQ_GOV_PERFORMANCE
117 Use the CPUFreq governor 'hotplug' as default. This allows you
118 to get a full dynamic frequency capable system with CPU
119 hotplug support by simply loading your cpufreq low-level
120 hardware driver. Be aware that not all cpufreq drivers
121 support the hotplug governor. If unsure have a look at
122 the help section of the driver. Fallback governor will be the
123 performance governor.
127 config CPU_FREQ_GOV_PERFORMANCE
128 tristate "'performance' governor"
130 This cpufreq governor sets the frequency statically to the
131 highest available CPU frequency.
133 To compile this driver as a module, choose M here: the
134 module will be called cpufreq_performance.
138 config CPU_FREQ_GOV_POWERSAVE
139 tristate "'powersave' governor"
141 This cpufreq governor sets the frequency statically to the
142 lowest available CPU frequency.
144 To compile this driver as a module, choose M here: the
145 module will be called cpufreq_powersave.
149 config CPU_FREQ_GOV_USERSPACE
150 tristate "'userspace' governor for userspace frequency scaling"
152 Enable this cpufreq governor when you either want to set the
153 CPU frequency manually or when a userspace program shall
154 be able to set the CPU dynamically, like on LART
155 <http://www.lartmaker.nl/>.
157 To compile this driver as a module, choose M here: the
158 module will be called cpufreq_userspace.
160 For details, take a look at <file:Documentation/cpu-freq/>.
164 config CPU_FREQ_GOV_ONDEMAND
165 tristate "'ondemand' cpufreq policy governor"
166 select CPU_FREQ_TABLE
168 'ondemand' - This driver adds a dynamic cpufreq policy governor.
169 The governor does a periodic polling and
170 changes frequency based on the CPU utilization.
171 The support for this governor depends on CPU capability to
172 do fast frequency switching (i.e, very low latency frequency
175 To compile this driver as a module, choose M here: the
176 module will be called cpufreq_ondemand.
178 For details, take a look at linux/Documentation/cpu-freq.
182 config CPU_FREQ_GOV_INTERACTIVE
183 tristate "'interactive' cpufreq policy governor"
185 'interactive' - This driver adds a dynamic cpufreq policy governor
186 designed for latency-sensitive workloads.
188 This governor attempts to reduce the latency of clock
189 increases so that the system is more responsive to
190 interactive workloads.
192 To compile this driver as a module, choose M here: the
193 module will be called cpufreq_interactive.
195 For details, take a look at linux/Documentation/cpu-freq.
199 config CPU_FREQ_GOV_CONSERVATIVE
200 tristate "'conservative' cpufreq governor"
203 'conservative' - this driver is rather similar to the 'ondemand'
204 governor both in its source code and its purpose, the difference is
205 its optimisation for better suitability in a battery powered
206 environment. The frequency is gracefully increased and decreased
207 rather than jumping to 100% when speed is required.
209 If you have a desktop machine then you should really be considering
210 the 'ondemand' governor instead, however if you are using a laptop,
211 PDA or even an AMD64 based computer (due to the unacceptable
212 step-by-step latency issues between the minimum and maximum frequency
213 transitions in the CPU) you will probably want to use this governor.
215 To compile this driver as a module, choose M here: the
216 module will be called cpufreq_conservative.
218 For details, take a look at linux/Documentation/cpu-freq.
222 menu "x86 CPU frequency scaling drivers"
224 source "drivers/cpufreq/Kconfig.x86"
227 config CPU_FREQ_GOV_HOTPLUG
228 tristate "'hotplug' cpufreq governor"
229 depends on CPU_FREQ && NO_HZ && HOTPLUG_CPU
231 'hotplug' - this driver mimics the frequency scaling behavior
232 in 'ondemand', but with several key differences. First is
233 that frequency transitions use the CPUFreq table directly,
234 instead of incrementing in a percentage of the maximum
235 available frequency. Second 'hotplug' will offline auxillary
236 CPUs when the system is idle, and online those CPUs once the
237 system becomes busy again. This last feature is needed for
238 architectures which transition to low power states when only
239 the "master" CPU is online, or for thermally constrained
242 If you don't have one of these architectures or devices, use