cpuidle.rst (ead5d1f4d877e92c051e1a1ade623d0d30e71619) cpuidle.rst (f49735f4978f479b0de4f50ab217d5a56bc83c55)
1.. SPDX-License-Identifier: GPL-2.0
2.. include:: <isonum.txt>
3
4.. |struct cpuidle_state| replace:: :c:type:`struct cpuidle_state <cpuidle_state>`
5.. |cpufreq| replace:: :doc:`CPU Performance Scaling <cpufreq>`
6
7========================
8CPU Idle Time Management

--- 514 unchanged lines hidden (view full) ---

523``time``
524 Total time spent in this idle state by the given CPU (as measured by the
525 kernel) in microseconds.
526
527``usage``
528 Total number of times the hardware has been asked by the given CPU to
529 enter this idle state.
530
1.. SPDX-License-Identifier: GPL-2.0
2.. include:: <isonum.txt>
3
4.. |struct cpuidle_state| replace:: :c:type:`struct cpuidle_state <cpuidle_state>`
5.. |cpufreq| replace:: :doc:`CPU Performance Scaling <cpufreq>`
6
7========================
8CPU Idle Time Management

--- 514 unchanged lines hidden (view full) ---

523``time``
524 Total time spent in this idle state by the given CPU (as measured by the
525 kernel) in microseconds.
526
527``usage``
528 Total number of times the hardware has been asked by the given CPU to
529 enter this idle state.
530
531``rejected``
532 Total number of times a request to enter this idle state on the given
533 CPU was rejected.
534
531The :file:`desc` and :file:`name` files both contain strings. The difference
532between them is that the name is expected to be more concise, while the
533description may be longer and it may contain white space or special characters.
534The other files listed above contain integer numbers.
535
536The :file:`disable` attribute is the only writeable one. If it contains 1, the
537given idle state is disabled for this particular CPU, which means that the
538governor will never select it for this particular CPU and the ``CPUIdle``

--- 28 unchanged lines hidden (view full) ---

567and it cannot say what really happened in the meantime at the hardware level.
568Moreover, if the idle state object in question represents a combination of idle
569states at different levels of the hierarchy of units in the processor,
570the kernel can never say how deep the hardware went down the hierarchy in any
571particular case. For these reasons, the only reliable way to find out how
572much time has been spent by the hardware in different idle states supported by
573it is to use idle state residency counters in the hardware, if available.
574
535The :file:`desc` and :file:`name` files both contain strings. The difference
536between them is that the name is expected to be more concise, while the
537description may be longer and it may contain white space or special characters.
538The other files listed above contain integer numbers.
539
540The :file:`disable` attribute is the only writeable one. If it contains 1, the
541given idle state is disabled for this particular CPU, which means that the
542governor will never select it for this particular CPU and the ``CPUIdle``

--- 28 unchanged lines hidden (view full) ---

571and it cannot say what really happened in the meantime at the hardware level.
572Moreover, if the idle state object in question represents a combination of idle
573states at different levels of the hierarchy of units in the processor,
574the kernel can never say how deep the hardware went down the hierarchy in any
575particular case. For these reasons, the only reliable way to find out how
576much time has been spent by the hardware in different idle states supported by
577it is to use idle state residency counters in the hardware, if available.
578
579Generally, an interrupt received when trying to enter an idle state causes the
580idle state entry request to be rejected, in which case the ``CPUIdle`` driver
581may return an error code to indicate that this was the case. The :file:`usage`
582and :file:`rejected` files report the number of times the given idle state
583was entered successfully or rejected, respectively.
575
576.. _cpu-pm-qos:
577
578Power Management Quality of Service for CPUs
579============================================
580
581The power management quality of service (PM QoS) framework in the Linux kernel
582allows kernel code and user space processes to set constraints on various

--- 141 unchanged lines hidden ---
584
585.. _cpu-pm-qos:
586
587Power Management Quality of Service for CPUs
588============================================
589
590The power management quality of service (PM QoS) framework in the Linux kernel
591allows kernel code and user space processes to set constraints on various

--- 141 unchanged lines hidden ---