Intel's Idle Linux Driver Finally Seeing Xeon Sapphire Rapids Support

Written by Michael Larabel in Intel on 3 March 2022 at 07:27 AM EST. Add A Comment
INTEL
While much of Intel's Xeon Scalable "Sapphire Rapids" enablement has been squared away for a while now within the Linux kernel and related components, there are a few holdouts only now coming about in patch form and working their way to the mainline kernel with Sapphire Rapids production ramping up in the coming months.

Just yesterday was the volleying of the new Intel In-Field Scan (IFS) driver for new silicon hardware testing features with Sapphire Rapids. For Linux 5.18 the ENQCMD support is set to be re-enabled as important instruction for the Data Streaming Accelerator (DSA) with Sapphire Rapids. Plus there's been the recent Intel Software Defined Silicon driver set for v5.18 too but not clear yet if that is for Sapphire Rapids or not.

Another piece of the puzzle that Intel surprisingly didn't get squared away until now is the Intel_Idle driver support for Sapphire Rapids. The intel_idle Linux kernel driver is for the CPU idle time management that's been in use since the Nehalem days. The Intel Idle driver is important for power savings to communicate to the CPU that some of the hardware can be put into a lower power (idle) state.


The Intel Idle driver support for Sapphire Rapids Xeon is a bit more involved this time than just adding in new IDs. Up to now C1 and C1E C-states handling were independent but with Sapphire Rapids they have been made mutually exclusive. Sapphire Rapids will not allow C1 and C1E states to be enabled at the same time so the intel_idle code needs to handle the new behavior -- by default Sapphire Rapids (SPR) will only C1 and C6 states will be registered.

The C1E C-state does save more energy than C1, so the SPR enablement patch series also adds a new intel_idle.preferred_cstates= module option for those wanting to enable the C1E state and thereby disable C1. In the case of Sapphire Rapids, using intel_idle.preferred_cstates=4 will disable C1 and enable C1E if preferring the increased power-savings but with higher exit latency.

These patches provide the Intel Idle driver support for Sapphire Rapids. Given that these next-gen Xeon Scalable processors will hopefully be coming sooner rather than later, hopefully the work will still manage to get picked up in time for the v5.18 kernel cycle.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week