^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .TH "CPUPOWER-IDLE-SET" "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\-set \- Utility to set cpu idle state specific kernel options
^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) The cpupower idle\-set subcommand allows to set cpu idle, also called cpu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) sleep state, specific options offered by the kernel. One example is disabling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) sleep states. This can be handy for power vs performance tuning.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) .SH "OPTIONS"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) .LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) .TP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) \fB\-d\fR \fB\-\-disable\fR <STATE_NO>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Disable a specific processor sleep state.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) .TP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) \fB\-e\fR \fB\-\-enable\fR <STATE_NO>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Enable a specific processor sleep state.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) .TP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) \fB\-D\fR \fB\-\-disable-by-latency\fR <LATENCY>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Disable all idle states with a equal or higher latency than <LATENCY>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) Enable all idle states with a latency lower than <LATENCY>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) .TP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) \fB\-E\fR \fB\-\-enable-all\fR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Enable all idle states if not enabled already.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) .SH "REMARKS"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) .LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Cpuidle Governors Policy on Disabling Sleep States
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) .RS 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Depending on the used cpuidle governor, implementing the kernel policy
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) how to choose sleep states, subsequent sleep states on this core, might get
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) disabled as well.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) There are two cpuidle governors ladder and menu. While the ladder
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) governor is always available, if CONFIG_CPU_IDLE is selected, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) menu governor additionally requires CONFIG_NO_HZ.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) The behavior and the effect of the disable variable depends on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) implementation of a particular governor. In the ladder governor, for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) example, it is not coherent, i.e. if one is disabling a light state,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) then all deeper states are disabled as well. Likewise, if one enables a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) deep state but a lighter state still is disabled, then this has no effect.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) .RE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) .LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Disabling the Lightest Sleep State may not have any Affect
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) .RS 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) If criteria are not met to enter deeper sleep states and the lightest sleep
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) state is chosen when idle, the kernel may still enter this sleep state,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) irrespective of whether it is disabled or not. This is also reflected in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) the usage count of the disabled sleep state when using the cpupower idle-info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) command.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) .RE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) .LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) Selecting specific CPU Cores
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) .RS 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) By default processor sleep states of all CPU cores are set. Please refer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) to the cpupower(1) manpage in the \-\-cpu option section how to disable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) C-states of specific cores.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) .RE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) .SH "FILES"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) .nf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) \fI/sys/devices/system/cpu/cpu*/cpuidle/state*\fP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) \fI/sys/devices/system/cpu/cpuidle/*\fP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) .fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) .SH "AUTHORS"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) .nf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) Thomas Renninger <trenn@suse.de>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) .fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) .SH "SEE ALSO"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) .LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) cpupower(1), cpupower\-monitor(1), cpupower\-info(1), cpupower\-set(1),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) cpupower\-idle\-info(1)