summaryrefslogtreecommitdiff
path: root/Documentation/cpuidle/governor.txt
diff options
context:
space:
mode:
authorVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>2008-02-14 00:16:13 -0500
committerLen Brown <len.brown@intel.com>2008-02-14 00:16:13 -0500
commitfe8e288a63f2f3c51c288500282d0eb5cd26a534 (patch)
treef2d0178448df4367ce3692e4b0a4ebb3f7dcbd4e /Documentation/cpuidle/governor.txt
parent4fcb2fcd4d0678b8ae103d257dcb28074cbfc7fa (diff)
downloadlwn-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.txt29
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