Linux Lands Fix For Intel Hybrid CPU Frequency Scaling When Disabling E-Cores

Written by Michael Larabel in Intel on 8 July 2023 at 06:23 AM EDT. 3 Comments
INTEL
The Intel P-State CPU frequency scaling driver for the Linux kernel has received a fix to an issue that could lead to inadequate CPU frequency scaling behavior when running on a hybrid processor with E cores disable.

For those running a modern Intel Core "Alder Lake" or "Raptor Lake" processor and opted to disable the E cores if just wanting to focus on the performance cores to avoid any P/E core scheduling behavior oddities or for other reasons, the Intel P-State driver to this point might not actually behave correctly but has been fixed with code merged this week for Linux 6.5. As it's a driver fix, it will likely be back-ported to existing Linux stable kernel series as well.

Intel Raptor Lake hybrid CPUs


The Intel P-State driver change is to use the correct scaling factor when mapping the hardware P-States (HWP) performance levels to frequency values on hybrid-capable systems that have disabled E-cores. Intel Linux engineer Srinivas Pandruvada explained of the issue in the patch:
"Some system BIOS configuration may provide option to disable E-cores. As part of this change, CPUID feature for hybrid (Leaf 7 sub leaf 0, EDX[15] = 0) may not be set. But HWP performance limits will still be using a scaling factor like any other hybrid enabled system.

The current check for applying scaling factor will fail when hybrid CPUID feature is not set. Only way to make sure that scaling should be applied by checking CPPC nominal frequency and nominal performance. If CPPC nominal frequency and nominal performance is defined and nominal frequency is not in multiples of 100MHz of nominal performance, then use hybrid scaling factor.

The above check will fail for non hybrid capable systems as they don't publish nominal frequency field in CPPC, so this function can be used for all HWP systems without additional cpu model check."

That fix was sent in this week with various other power management changes as part of a secondary pull request for Linux 6.5. Last week meanwhile was the main set of power management updates merged for the Linux 6.5 kernel.
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