^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .TH "CPUPOWER-IDLE-INFO" "1" "0.1" "" "cpupower Manual"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) .SH "NAME"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) .LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) cpupower\-idle\-info \- Utility to retrieve cpu idle kernel information
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) .SH "SYNTAX"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) .LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) cpupower [ \-c cpulist ] idle\-info [\fIoptions\fP]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) .SH "DESCRIPTION"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) .LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) A tool which prints out per cpu idle information helpful to developers and interested users.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) .SH "OPTIONS"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) .LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) .TP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) \fB\-f\fR \fB\-\-silent\fR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Only print a summary of all available C-states in the system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) .TP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) \fB\-e\fR \fB\-\-proc\fR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) deprecated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Prints out idle information in old /proc/acpi/processor/*/power format. This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) interface has been removed from the kernel for quite some time, do not let
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) further code depend on this option, best do not use it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) .SH IDLE\-INFO DESCRIPTIONS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) CPU sleep state statistics and descriptions are retrieved from sysfs files,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) exported by the cpuidle kernel subsystem. The kernel only updates these
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) statistics when it enters or leaves an idle state, therefore on a very idle or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) a very busy system, these statistics may not be accurate. They still provide a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) good overview about the usage and availability of processor sleep states on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) the platform.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Be aware that the sleep states as exported by the hardware or BIOS and used by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) the Linux kernel may not exactly reflect the capabilities of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) processor. This often is the case on the X86 architecture when the acpi_idle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) driver is used. It is also possible that the hardware overrules the kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) requests, due to internal activity monitors or other reasons.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) On recent X86 platforms it is often possible to read out hardware registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) which monitor the duration of sleep states the processor resided in. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) cpupower monitor tool (cpupower\-monitor(1)) can be used to show real sleep
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) state residencies. Please refer to the architecture specific description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) section below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) .SH IDLE\-INFO ARCHITECTURE SPECIFIC DESCRIPTIONS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) .SS "X86"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) POLL idle state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) If cpuidle is active, X86 platforms have one special idle state.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) The POLL idle state is not a real idle state, it does not save any
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) power. Instead, a busy\-loop is executed doing nothing for a short period of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) time. This state is used if the kernel knows that work has to be processed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) very soon and entering any real hardware idle state may result in a slight
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) performance penalty.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) There exist two different cpuidle drivers on the X86 architecture platform:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) "acpi_idle" cpuidle driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) The acpi_idle cpuidle driver retrieves available sleep states (C\-states) from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) the ACPI BIOS tables (from the _CST ACPI function on recent platforms or from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) the FADT BIOS table on older ones).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) The C1 state is not retrieved from ACPI tables. If the C1 state is entered,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) the kernel will call the hlt instruction (or mwait on Intel).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) "intel_idle" cpuidle driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) In kernel 2.6.36 the intel_idle driver was introduced.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) It only serves recent Intel CPUs (Nehalem, Westmere, Sandybridge, Atoms or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) newer). On older Intel CPUs the acpi_idle driver is still used (if the BIOS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) provides C\-state ACPI tables).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) The intel_idle driver knows the sleep state capabilities of the processor and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) ignores ACPI BIOS exported processor sleep states tables.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) .SH "REMARKS"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) .LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) By default only values of core zero are displayed. How to display settings of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) other cores is described in the cpupower(1) manpage in the \-\-cpu option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) section.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) .SH REFERENCES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) https://uefi.org/specifications
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) .SH "FILES"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) .nf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) \fI/sys/devices/system/cpu/cpu*/cpuidle/state*\fP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) \fI/sys/devices/system/cpu/cpuidle/*\fP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) .fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) .SH "AUTHORS"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) .nf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) Thomas Renninger <trenn@suse.de>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) .fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) .SH "SEE ALSO"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) .LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) cpupower(1), cpupower\-monitor(1), cpupower\-info(1), cpupower\-set(1),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) cpupower\-idle\-set(1)