mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 01:10:04 +00:00
![Venkatesh Pallipadi](/assets/img/avatar_default.png)
Documentation for cpuidle infrastructure. (resend) Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Reviewed-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Len Brown <len.brown@intel.com>
29 lines
1,022 B
Text
29 lines
1,022 B
Text
|
|
|
|
|
|
Supporting multiple CPU idle levels in kernel
|
|
|
|
cpuidle governors
|
|
|
|
|
|
|
|
|
|
cpuidle governor is policy routine that decides what idle state to enter at
|
|
any given time. cpuidle core uses different callbacks to the governor.
|
|
|
|
* enable() to enable governor for a particular device
|
|
* disable() to disable governor for a particular device
|
|
* select() to select an idle state to enter
|
|
* reflect() called after returning from the idle state, which can be used
|
|
by the governor for some record keeping.
|
|
|
|
More than one governor can be registered at the same time and
|
|
users can switch between drivers using /sysfs interface (when enabled).
|
|
More than one governor part is supported for developers to easily experiment
|
|
with different governors. By default, most optimal governor based on your
|
|
kernel configuration and platform will be selected by cpuidle.
|
|
|
|
Interfaces:
|
|
extern int cpuidle_register_governor(struct cpuidle_governor *gov);
|
|
extern void cpuidle_unregister_governor(struct cpuidle_governor *gov);
|
|
struct cpuidle_governor
|