Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Documentation: admin-guide: pm: Document intel_idle C1 demotion

Document the intel_idle driver sysfs file for enabling/disabling C1
demotion.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Link: https://patch.msgid.link/20250317135541.1471754-3-dedekind1@gmail.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

authored by

Artem Bityutskiy and committed by
Rafael J. Wysocki
af3a1b6a 6138f345

+21
+21
Documentation/admin-guide/pm/intel_idle.rst
··· 38 38 only way to pass early-configuration-time parameters to it is via the kernel 39 39 command line. 40 40 41 + Sysfs Interface 42 + =============== 43 + 44 + The ``intel_idle`` driver exposes the following ``sysfs`` attributes in 45 + ``/sys/devices/system/cpu/cpuidle/``: 46 + 47 + ``intel_c1_demotion`` 48 + Enable or disable C1 demotion for all CPUs in the system. This file is 49 + only exposed on platforms that support the C1 demotion feature and where 50 + it was tested. Value 0 means that C1 demotion is disabled, value 1 means 51 + that it is enabled. Write 0 or 1 to disable or enable C1 demotion for 52 + all CPUs. 53 + 54 + The C1 demotion feature involves the platform firmware demoting deep 55 + C-state requests from the OS (e.g., C6 requests) to C1. The idea is that 56 + firmware monitors CPU wake-up rate, and if it is higher than a 57 + platform-specific threshold, the firmware demotes deep C-state requests 58 + to C1. For example, Linux requests C6, but firmware noticed too many 59 + wake-ups per second, and it keeps the CPU in C1. When the CPU stays in 60 + C1 long enough, the platform promotes it back to C6. This may improve 61 + some workloads' performance, but it may also increase power consumption. 41 62 42 63 .. _intel-idle-enumeration-of-states: 43 64