Lines Matching +full:space +full:- +full:constraint

1 .. SPDX-License-Identifier: GPL-2.0
27 CPU idle time management is an energy-efficiency feature concerned about using
31 ------------
37 software as individual single-core processors. In other words, a CPU is an
46 Second, if the processor is multi-core, each core in it is able to follow at
61 Finally, each core in a multi-core processor may be able to follow more than one
66 multiple individual single-core "processors", referred to as *hardware threads*
67 (or hyper-threads specifically on Intel hardware), that each can follow one
78 ---------
112 .. _idle-loop:
127 the platform or the processor architecture and organized in a one-dimensional
134 taken into account by the governor, the *target residency* and the (worst-case)
152 and exit it. However, the CPU may be woken up by a non-timer event at any time
162 There are four ``CPUIdle`` governors available, ``menu``, `TEO <teo-gov_>`_,
165 tick can be `stopped by the idle loop <idle-cpus-and-tick_>`_. Available
186 .. _idle-cpus-and-tick:
223 (non-tick) timer due to trigger within the tick range, stopping the tick clearly
225 reprogrammed in that case. Second, if the governor is expecting a non-timer
247 loop altogether. That can be done through the build-time configuration of it
255 generally regarded as more energy-efficient than the systems running kernels in
261 .. _menu-gov:
319 from the power management quality of service, or `PM QoS <cpu-pm-qos_>`_,
331 if it has not decided to `stop the scheduler tick <idle-cpus-and-tick_>`_. That
340 .. _teo-gov:
347 <menu-gov_>`_: it always tries to find the deepest idle state suitable for the
350 .. kernel-doc:: drivers/cpuidle/governors/teo.c
351 :doc: teo-description
353 .. _idle-states-representation:
359 supported by the processor have to be represented as a one-dimensional array of
365 of it <idle-loop_>`_, must reflect the properties of the idle state at the
464 description may be longer and it may contain white space or special characters.
512 .. _cpu-pm-qos:
518 allows kernel code and user space processes to set constraints on various
519 energy-efficiency features of the kernel to prevent performance from dropping
526 space can modify the former by opening the :file:`cpu_dma_latency` special
528 signed 32-bit integer) to it. In turn, the resume latency constraint for a CPU
529 can be modified from user space by writing a string (representing a signed
530 32-bit integer) to the :file:`power/pm_qos_resume_latency_us` file under
534 number will be interpreted as a requested PM QoS constraint in microseconds.
536 The requested value is not automatically applied as a new constraint, however,
538 constraint previously requested by someone else. For this reason, the PM QoS
542 constraint.
571 this single PM QoS request to be updated regardless of which user space
573 user space, so access to the file associated with it needs to be arbitrated
576 ``sysfs`` interface to control the resume latency constraint for it.] It is
578 determine the effective value to be set as the resume latency constraint for the
583 (effective) CPU latency limit and the effective resume latency constraint for
593 `disabled for individual CPUs <idle-states-representation_>`_, there are kernel
604 however, so it is rather crude and not very energy-efficient. For this reason,
633 P-states (see |cpufreq|) that require any number of CPUs in a package to be
634 idle, so it very well may hurt single-thread computations performance as well as
635 energy-efficiency. Thus using it for performance reasons may not be a good idea
646 In addition to the architecture-level kernel command line options affecting CPU
652 `Representation of Idle States <idle-states-representation_>`_), causes the