Lines Matching +full:exit +full:- +full:latency
1 .. SPDX-License-Identifier: GPL-2.0
28 processor's functional blocks into low-power states. That instruction takes two
38 only way to pass early-configuration-time parameters to it is via the kernel
42 .. _intel-idle-enumeration-of-states:
50 as C-states (in the ACPI terminology) or idle states. The list of meaningful
51 ``MWAIT`` hint values and idle states (i.e. low-power configurations of the
56 subsystem (see :ref:`idle-states-representation` in :doc:`cpuidle`),
65 `below <intel-idle-parameters_>`_.]
82 configured to ignore the ACPI tables; see `below <intel-idle-parameters_>`_.]
85 initialized to represent a "polling idle state" (a pseudo-idle state in which
99 space still can enable them later (on a per-CPU basis) with the help of
101 :ref:`idle-states-representation` in :doc:`cpuidle`). This basically means that
109 the description, ``MWAIT`` hint and exit latency are copied to the corresponding
114 its target residency is based on the exit latency value. Specifically, for
115 C1-type idle states the exit latency value is also used as the target residency
118 state types (C2 and C3) the target residency value is 3 times the exit latency
119 (again, that is because it reflects the target residency to exit latency ratio
124 .. _intel-idle-initialization:
135 `above <intel-idle-enumeration-of-states_>`_), and whether or not the processor
142 `below <intel-idle-parameters_>`_), the idle states information provided by the
147 `above <intel-idle-enumeration-of-states_>`_.
156 optionally performs some CPU-specific initialization actions that may be
160 .. _intel-idle-parameters:
177 driver. It is also the maximum number of regular (non-polling) idle states that
189 even if they have been enumerated (see :ref:`cpu-pm-qos` in :doc:`cpuidle`).
205 idle state; see :ref:`idle-states-representation` in :doc:`cpuidle`).
212 The idle states disabled this way can be enabled (on a per-CPU basis) from user
216 .. _intel-idle-core-and-package-idle-states:
222 least) two levels of idle states (or C-states). One level, referred to as
223 "core C-states", covers individual cores in the processor, whereas the other
224 level, referred to as "package C-states", covers the entire processor package
228 Some of the ``MWAIT`` hint values allow the processor to use core C-states only
232 with the given hint value) into a specific core C-state and then (if possible)
233 to enter a specific package C-state at the deeper level. For example, the
235 put the target core into the low-power state referred to as "core ``C3``" (or
240 including some non-CPU components such as a GPU or a memory controller) into the
241 low-power state referred to as "package ``C3``" (or ``PC3``), which happens if
244 be required to be in a certain GPU-specific low-power state for ``PC3`` to be
247 As a rule, there is no simple way to make the processor use core C-states only
248 if the conditions for entering the corresponding package C-states are met, so
249 the logical CPU executing ``MWAIT`` with a hint value that is not core-level
251 enter a package C-state. [That is why the exit latency and target residency
254 C-states.] If using package C-states is not desirable at all, either
255 :ref:`PM QoS <cpu-pm-qos>` or the ``max_cstate`` module parameter of
256 ``intel_idle`` described `above <intel-idle-parameters_>`_ must be used to
257 restrict the range of permissible idle states to the ones with core-level only
264 .. [1] *Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B*,
265 …www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-develo…