System information
Power Management 137
11.2 The Linux Kernel CPUfreq
Infrastructure
Processor performance states (P-states) and processor operating states (C-states) are
the capability of a processor to switch between different supported operating frequen-
cies and voltages to modulate power consumption.
In order to dynamically scale processor frequencies at runtime, you can use the
CPUfreq infrastructure to set a static or dynamic power policy for the system. Its
main components are the CPUfreq subsystem (providing a common interface to the
various low-level technologies and high-level policies) , the in-kernel governors (pol-
icy governors that can change the CPU frequency based on different criteria) and
CPU-specific drivers that implement the technology for the specific processor.
The dynamic scaling of the clock speed helps to consume less power and generate less
heat when not operating at full capacity.
11.2.1 In-Kernel Governors
You can think of the in-kernel governors as a sort of pre-configured power schemes
for the CPU. The CPUfreq governors use P-states to change frequencies and low-
er power consumption. The dynamic governors can switch between CPU frequen-
cies, based on CPU utilization to allow for power savings while not sacrificing perfor-
mance. These governors also allow for some tuning so you can customize and change
the frequency scaling behavior.
The following governors are available with the CPUfreq subsystem:
Performance Governor
The CPU frequency is statically set to the highest possible for maximum perfor-
mance. Consequently, saving power is not the focus of this governor.
Tuning options: The range of maximum frequencies available to the governor can
be adjusted (for example, with the cpupower command line tool).
Powersave Governor
The CPU frequency is statically set to the lowest possible. This can have severe
impact on the performance, as the system will never rise above this frequency no
matter how busy the processors are.