mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 11:44:01 +08:00
fe8e288a63
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>
30 lines
1022 B
Plaintext
30 lines
1022 B
Plaintext
|
|
|
|
|
|
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
|