ia64/linux-2.6.18-xen.hg

view Documentation/cpu-freq/user-guide.txt @ 524:7f8b544237bf

netfront: Allow netfront in domain 0.

This is useful if your physical network device is in a utility domain.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Tue Apr 15 15:18:58 2008 +0100 (2008-04-15)
parents 831230e53067
children
line source
1 CPU frequency and voltage scaling code in the Linux(TM) kernel
4 L i n u x C P U F r e q
6 U S E R G U I D E
9 Dominik Brodowski <linux@brodo.de>
13 Clock scaling allows you to change the clock speed of the CPUs on the
14 fly. This is a nice method to save battery power, because the lower
15 the clock speed, the less power the CPU consumes.
18 Contents:
19 ---------
20 1. Supported Architectures and Processors
21 1.1 ARM
22 1.2 x86
23 1.3 sparc64
24 1.4 ppc
25 1.5 SuperH
27 2. "Policy" / "Governor"?
28 2.1 Policy
29 2.2 Governor
31 3. How to change the CPU cpufreq policy and/or speed
32 3.1 Preferred interface: sysfs
33 3.2 Deprecated interfaces
37 1. Supported Architectures and Processors
38 =========================================
40 1.1 ARM
41 -------
43 The following ARM processors are supported by cpufreq:
45 ARM Integrator
46 ARM-SA1100
47 ARM-SA1110
50 1.2 x86
51 -------
53 The following processors for the x86 architecture are supported by cpufreq:
55 AMD Elan - SC400, SC410
56 AMD mobile K6-2+
57 AMD mobile K6-3+
58 AMD mobile Duron
59 AMD mobile Athlon
60 AMD Opteron
61 AMD Athlon 64
62 Cyrix Media GXm
63 Intel mobile PIII and Intel mobile PIII-M on certain chipsets
64 Intel Pentium 4, Intel Xeon
65 Intel Pentium M (Centrino)
66 National Semiconductors Geode GX
67 Transmeta Crusoe
68 Transmeta Efficeon
69 VIA Cyrix 3 / C3
70 various processors on some ACPI 2.0-compatible systems [*]
72 [*] Only if "ACPI Processor Performance States" are available
73 to the ACPI<->BIOS interface.
76 1.3 sparc64
77 -----------
79 The following processors for the sparc64 architecture are supported by
80 cpufreq:
82 UltraSPARC-III
85 1.4 ppc
86 -------
88 Several "PowerBook" and "iBook2" notebooks are supported.
91 1.5 SuperH
92 ----------
94 The following SuperH processors are supported by cpufreq:
96 SH-3
97 SH-4
100 2. "Policy" / "Governor" ?
101 ==========================
103 Some CPU frequency scaling-capable processor switch between various
104 frequencies and operating voltages "on the fly" without any kernel or
105 user involvement. This guarantees very fast switching to a frequency
106 which is high enough to serve the user's needs, but low enough to save
107 power.
110 2.1 Policy
111 ----------
113 On these systems, all you can do is select the lower and upper
114 frequency limit as well as whether you want more aggressive
115 power-saving or more instantly available processing power.
118 2.2 Governor
119 ------------
121 On all other cpufreq implementations, these boundaries still need to
122 be set. Then, a "governor" must be selected. Such a "governor" decides
123 what speed the processor shall run within the boundaries. One such
124 "governor" is the "userspace" governor. This one allows the user - or
125 a yet-to-implement userspace program - to decide what specific speed
126 the processor shall run at.
129 3. How to change the CPU cpufreq policy and/or speed
130 ====================================================
132 3.1 Preferred Interface: sysfs
133 ------------------------------
135 The preferred interface is located in the sysfs filesystem. If you
136 mounted it at /sys, the cpufreq interface is located in a subdirectory
137 "cpufreq" within the cpu-device directory
138 (e.g. /sys/devices/system/cpu/cpu0/cpufreq/ for the first CPU).
140 cpuinfo_min_freq : this file shows the minimum operating
141 frequency the processor can run at(in kHz)
142 cpuinfo_max_freq : this file shows the maximum operating
143 frequency the processor can run at(in kHz)
144 scaling_driver : this file shows what cpufreq driver is
145 used to set the frequency on this CPU
147 scaling_available_governors : this file shows the CPUfreq governors
148 available in this kernel. You can see the
149 currently activated governor in
151 scaling_governor, and by "echoing" the name of another
152 governor you can change it. Please note
153 that some governors won't load - they only
154 work on some specific architectures or
155 processors.
156 scaling_min_freq and
157 scaling_max_freq show the current "policy limits" (in
158 kHz). By echoing new values into these
159 files, you can change these limits.
160 NOTE: when setting a policy you need to
161 first set scaling_max_freq, then
162 scaling_min_freq.
165 If you have selected the "userspace" governor which allows you to
166 set the CPU operating frequency to a specific value, you can read out
167 the current frequency in
169 scaling_setspeed. By "echoing" a new frequency into this
170 you can change the speed of the CPU,
171 but only within the limits of
172 scaling_min_freq and scaling_max_freq.
175 3.2 Deprecated Interfaces
176 -------------------------
178 Depending on your kernel configuration, you might find the following
179 cpufreq-related files:
180 /proc/cpufreq
181 /proc/sys/cpu/*/speed
182 /proc/sys/cpu/*/speed-min
183 /proc/sys/cpu/*/speed-max
185 These are files for deprecated interfaces to cpufreq, which offer far
186 less functionality. Because of this, these interfaces aren't described
187 here.