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