diff options
author | Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> | 2008-02-14 00:16:13 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-02-14 00:16:13 -0500 |
commit | fe8e288a63f2f3c51c288500282d0eb5cd26a534 (patch) | |
tree | f2d0178448df4367ce3692e4b0a4ebb3f7dcbd4e /Documentation/cpuidle/governor.txt | |
parent | 4fcb2fcd4d0678b8ae103d257dcb28074cbfc7fa (diff) | |
download | lwn-fe8e288a63f2f3c51c288500282d0eb5cd26a534.tar.gz lwn-fe8e288a63f2f3c51c288500282d0eb5cd26a534.zip |
cpuidle: Add Documentation
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>
Diffstat (limited to 'Documentation/cpuidle/governor.txt')
-rw-r--r-- | Documentation/cpuidle/governor.txt | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Documentation/cpuidle/governor.txt b/Documentation/cpuidle/governor.txt new file mode 100644 index 000000000000..12c6bd50c9f6 --- /dev/null +++ b/Documentation/cpuidle/governor.txt @@ -0,0 +1,29 @@ + + + + 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 |