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 --- |