| |
| |
| |
| 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 |