Commit 7395683a authored by Hanjun Guo's avatar Hanjun Guo Committed by Rafael J. Wysocki

Documentation: cpuidle: update the document

Update the document after the remove of cpuidle_sysfs_switch.
Signed-off-by: default avatarHanjun Guo <guohanjun@huawei.com>
Reviewed-by: default avatarDoug Smythies <dsmythies@telus.net>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent cce55cc9
...@@ -106,10 +106,10 @@ Description: CPU topology files that describe a logical CPU's relationship ...@@ -106,10 +106,10 @@ Description: CPU topology files that describe a logical CPU's relationship
See Documentation/admin-guide/cputopology.rst for more information. See Documentation/admin-guide/cputopology.rst for more information.
What: /sys/devices/system/cpu/cpuidle/current_driver What: /sys/devices/system/cpu/cpuidle/available_governors
/sys/devices/system/cpu/cpuidle/current_governer_ro /sys/devices/system/cpu/cpuidle/current_driver
/sys/devices/system/cpu/cpuidle/available_governors
/sys/devices/system/cpu/cpuidle/current_governor /sys/devices/system/cpu/cpuidle/current_governor
/sys/devices/system/cpu/cpuidle/current_governer_ro
Date: September 2007 Date: September 2007
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description: Discover cpuidle policy and mechanism Description: Discover cpuidle policy and mechanism
...@@ -119,24 +119,18 @@ Description: Discover cpuidle policy and mechanism ...@@ -119,24 +119,18 @@ Description: Discover cpuidle policy and mechanism
consumption during idle. consumption during idle.
Idle policy (governor) is differentiated from idle mechanism Idle policy (governor) is differentiated from idle mechanism
(driver) (driver).
current_driver: (RO) displays current idle mechanism
current_governor_ro: (RO) displays current idle policy
With the cpuidle_sysfs_switch boot option enabled (meant for
developer testing), the following three attributes are visible
instead:
current_driver: same as described above
available_governors: (RO) displays a space separated list of available_governors: (RO) displays a space separated list of
available governors available governors.
current_driver: (RO) displays current idle mechanism.
current_governor: (RW) displays current idle policy. Users can current_governor: (RW) displays current idle policy. Users can
switch the governor at runtime by writing to this file. switch the governor at runtime by writing to this file.
current_governor_ro: (RO) displays current idle policy.
See Documentation/admin-guide/pm/cpuidle.rst and See Documentation/admin-guide/pm/cpuidle.rst and
Documentation/driver-api/pm/cpuidle.rst for more information. Documentation/driver-api/pm/cpuidle.rst for more information.
......
...@@ -159,17 +159,15 @@ governor uses that information depends on what algorithm is implemented by it ...@@ -159,17 +159,15 @@ governor uses that information depends on what algorithm is implemented by it
and that is the primary reason for having more than one governor in the and that is the primary reason for having more than one governor in the
``CPUIdle`` subsystem. ``CPUIdle`` subsystem.
There are three ``CPUIdle`` governors available, ``menu``, `TEO <teo-gov_>`_ There are four ``CPUIdle`` governors available, ``menu``, `TEO <teo-gov_>`_,
and ``ladder``. Which of them is used by default depends on the configuration ``ladder`` and ``haltpoll``. Which of them is used by default depends on the
of the kernel and in particular on whether or not the scheduler tick can be configuration of the kernel and in particular on whether or not the scheduler
`stopped by the idle loop <idle-cpus-and-tick_>`_. It is possible to change the tick can be `stopped by the idle loop <idle-cpus-and-tick_>`_. Available
governor at run time if the ``cpuidle_sysfs_switch`` command line parameter has governors can be read from the :file:`available_governors`, and the governor
been passed to the kernel, but that is not safe in general, so it should not be can be changed at runtime. The name of the ``CPUIdle`` governor currently
done on production systems (that may change in the future, though). The name of used by the kernel can be read from the :file:`current_governor_ro` or
the ``CPUIdle`` governor currently used by the kernel can be read from the :file:`current_governor` file under :file:`/sys/devices/system/cpu/cpuidle/`
:file:`current_governor_ro` (or :file:`current_governor` if in ``sysfs``.
``cpuidle_sysfs_switch`` is present in the kernel command line) file under
:file:`/sys/devices/system/cpu/cpuidle/` in ``sysfs``.
Which ``CPUIdle`` driver is used, on the other hand, usually depends on the Which ``CPUIdle`` driver is used, on the other hand, usually depends on the
platform the kernel is running on, but there are platforms with more than one platform the kernel is running on, but there are platforms with more than one
......
...@@ -68,9 +68,8 @@ only one in the list (that is, the list was empty before) or the value of its ...@@ -68,9 +68,8 @@ only one in the list (that is, the list was empty before) or the value of its
governor currently in use, or the name of the new governor was passed to the governor currently in use, or the name of the new governor was passed to the
kernel as the value of the ``cpuidle.governor=`` command line parameter, the new kernel as the value of the ``cpuidle.governor=`` command line parameter, the new
governor will be used from that point on (there can be only one ``CPUIdle`` governor will be used from that point on (there can be only one ``CPUIdle``
governor in use at a time). Also, if ``cpuidle_sysfs_switch`` is passed to the governor in use at a time). Also, user space can choose the ``CPUIdle``
kernel in the command line, user space can choose the ``CPUIdle`` governor to governor to use at run time via ``sysfs``.
use at run time via ``sysfs``.
Once registered, ``CPUIdle`` governors cannot be unregistered, so it is not Once registered, ``CPUIdle`` governors cannot be unregistered, so it is not
practical to put them into loadable kernel modules. practical to put them into loadable kernel modules.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment