Intel Preparing Sapphire Rapids C0.2 Idle State Support For Better Energy Efficiency

The C0.2 idle state is new to 4th Gen Xeon Scalable "Sapphire Rapids" and is an idle state between the POLL and C1 states.
Intel Linux engineer Artem Bityutskiy explained with today's kernel patches:
According to my measurements, SPR C0.2 idle state is 5-20% more energy-efficient than Linux POLL state, and its latency is close to POLL latency.
When a CPU rests in C0.2, saved power increases power budget of a busy CPU. This way, C0.2 may improve turbo boost of a busy CPU and improve performance.
...
C0.2 has higher latency comparing to POLL, but it comes with substantial energy savings.
...
Conclusion: even with small C0.2 residency (~10%), hackbench shows some performance improvement. With larger C0.2 residency the improvement is more pronounced.
For those concerned about the latency, with these patches the C0.2 state can be disabled using the "intel_idle.states_off=2" module option. Additionally, there is a sysfs interface to try a C0.1 idle state but in testing that didn't provide a clear power advantage like C0.2.
This Sapphire Rapids C0.2 idle state support for Linux is now out for review on the kernel mailing list. Hopefully it will be reviewed well and this power-savings feature for SPR Xeon servers will manage to land for the v6.4 cycle this summer. Once it's clear on a trajectory for mainline, I'll also be running some performance benchmarks and power efficiency comparisons.
1 Comment