Skip to content

Commit 8bb2e2a

Browse files
amonakovrafaeljw
authored andcommitted
intel_idle: mention assumption that WBINVD is not needed
Intel SDM does not explicitly say that entering a C-state via MWAIT will implicitly flush CPU caches as appropriate for that C-state. However, documentation for individual Intel CPU generations does mention this behavior. Since intel_idle binds to any Intel CPU with MWAIT, list this assumption of MWAIT behavior. In passing, reword opening comment to make it clear that the driver can load on any old and future Intel CPU with MWAIT. Signed-off-by: Alexander Monakov <amonakov@ispras.ru> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent e057833 commit 8bb2e2a

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

drivers/idle/intel_idle.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*/
99

1010
/*
11-
* intel_idle is a cpuidle driver that loads on specific Intel processors
11+
* intel_idle is a cpuidle driver that loads on all Intel CPUs with MWAIT
1212
* in lieu of the legacy ACPI processor_idle driver. The intent is to
1313
* make Linux more efficient on these processors, as intel_idle knows
1414
* more than ACPI, as well as make Linux more immune to ACPI BIOS bugs.
@@ -20,7 +20,11 @@
2020
* All CPUs have same idle states as boot CPU
2121
*
2222
* Chipset BM_STS (bus master status) bit is a NOP
23-
* for preventing entry into deep C-stats
23+
* for preventing entry into deep C-states
24+
*
25+
* CPU will flush caches as needed when entering a C-state via MWAIT
26+
* (in contrast to entering ACPI C3, in which case the WBINVD
27+
* instruction needs to be executed to flush the caches)
2428
*/
2529

2630
/*

0 commit comments

Comments
 (0)