Intel Firmware Engineers Make An Important Power Improvement For Sapphire Rapids
Earlier this year I wrote about the Intel Idle driver support being prepared for Xeon "Sapphire Rapids" CPUs but a limitation with these forthcoming Xeon Scalable processors was that C1 and C1E c-states handling are now mutually exclusive. Unlike earlier Xeon processors, C1 and C1E states couldn't be enabled at the same time. Fortunately, via new Intel firmware they have managed to overcome this limitation.
Initially Sapphire Rapids couldn't have both C1 and C1E C-states enabled at the same time so the Linux kernel was adapted to enable only C1 and C6 states with the intel_idle driver while adding a boot time option if preferring the C1E state for better power-savings.
The C1E "enhanced halt" state saves more power than C1 when idle but has a longer exit latency when returning from idle to operation. The original Intel_Idle behavior for Sapphire Rapids was to enable the C1 state by default, foregoing the enhanced C1E state in order to side with greater performance over power management. (Meanwhile on Alder Lake with this limitation it sides with C1E instead of C1.)
Fortunately, Intel firmware engineers have overcome the limitation with Sapphire Rapids needing C1 and C1E support to be independent. With the latest firmware -- and what will be part of the production firmware -- the C1 and C1E C-States are no longer mutually exclusive.
Thus a partial revert to the earlier Sapphire Rapids enablement for Intel_Idle is now queued for Linux 5.20 and marked for back-porting to the current stable series. Sapphire Rapids will now have the enhanced halt "C1E" state available by default on Linux for increased power savings potential in addition to C1.
Initially Sapphire Rapids couldn't have both C1 and C1E C-states enabled at the same time so the Linux kernel was adapted to enable only C1 and C6 states with the intel_idle driver while adding a boot time option if preferring the C1E state for better power-savings.
The C1E "enhanced halt" state saves more power than C1 when idle but has a longer exit latency when returning from idle to operation. The original Intel_Idle behavior for Sapphire Rapids was to enable the C1 state by default, foregoing the enhanced C1E state in order to side with greater performance over power management. (Meanwhile on Alder Lake with this limitation it sides with C1E instead of C1.)
Fortunately, Intel firmware engineers have overcome the limitation with Sapphire Rapids needing C1 and C1E support to be independent. With the latest firmware -- and what will be part of the production firmware -- the C1 and C1E C-States are no longer mutually exclusive.
Thus a partial revert to the earlier Sapphire Rapids enablement for Intel_Idle is now queued for Linux 5.20 and marked for back-porting to the current stable series. Sapphire Rapids will now have the enhanced halt "C1E" state available by default on Linux for increased power savings potential in addition to C1.
Add A Comment