Lines Matching full:cpuidle
29 subsystem in the kernel, called ``CPUIdle``.
31 The design of ``CPUIdle`` is modular and based on the code duplication avoidance
43 A CPU idle time (``CPUIdle``) governor is a bundle of policy code invoked when
47 ``CPUIdle`` governors are generic and each of them can be used on any hardware
58 with the ``CPUIdle`` core by calling :c:func:`cpuidle_register_governor()` with
64 kernel as the value of the ``cpuidle.governor=`` command line parameter, the new
65 governor will be used from that point on (there can be only one ``CPUIdle``
66 governor in use at a time). Also, user space can choose the ``CPUIdle``
69 Once registered, ``CPUIdle`` governors cannot be unregistered, so it is not
72 The interface between ``CPUIdle`` governors and the core consists of four
83 to by the ``drv`` argument represents the ``CPUIdle`` driver to be used
90 default code for idle CPUs on the CPU in question instead of ``CPUIdle``
120 represents the ``CPUIdle`` driver to be used with the CPU at hand). The
147 In addition, ``CPUIdle`` governors are required to take power management
150 PM QoS wakeup latency constraint for a given CPU, a ``CPUIdle`` governor is
161 CPU idle time management (``CPUIdle``) drivers provide an interface between the
162 other parts of ``CPUIdle`` and the hardware.
164 First of all, a ``CPUIdle`` driver has to populate the :c:member:`states` array
179 Three fields in struct cpuidle_state are used by the existing ``CPUIdle``
198 any idle state at all. [There are other flags used by the ``CPUIdle``
232 In addition to that, if the given ``CPUIdle`` driver is only going to handle a
237 A ``CPUIdle`` driver can only be used after it has been registered. If there
244 all of the logical CPUs to be handled by the given ``CPUIdle`` driver with the
250 recommended to use :c:func:`cpuidle_register()` for ``CPUIdle`` driver
253 The registration of a struct cpuidle_device object causes the ``CPUIdle``
258 ``CPUIdle`` drivers and struct cpuidle_device objects can be unregistered
262 ``CPUIdle`` driver must be unregistered, with the help of
265 :c:func:`cpuidle_unregister()` can be called to unregister a ``CPUIdle`` driver
269 ``CPUIdle`` drivers can respond to runtime system configuration changes that
273 a ``CPUIdle`` driver is expected to call :c:func:`cpuidle_pause_and_lock()` to
274 turn ``CPUIdle`` off temporarily and then :c:func:`cpuidle_disable_device()` for
279 :c:func:`cpuidle_resume_and_unlock()` to allow ``CPUIdle`` to be used again.