Linux's P-State Performance Governor Shows Unexpectedly Big Boosts For The Intel Core i9-11900K
The P-State and CPUFreq "performance" governors on Linux with desktop Intel/AMD processors can be of help for gaming and other select workloads by tending to keep the CPU clock frequencies higher than the default ondemand (CPUFreq) or powersave (P-State) governors used by nearly all Linux distributions. But with Intel's new Core i9 11900K "Rocket Lake" is a dramatic difference in power and performance between the Intel P-State performance and powersave governors than what we have seen over the years with prior generations of Intel Core processors.
Particularly after the recent tests in seeing the close Windows 10 vs. Ubuntu Linux performance on Rocket Lake coming as a surprise, I've spent a few days looking closely at the i9-11900K clocking behavior and power/performance under Linux. When switching from the P-State powersave default that is used by nearly all major Linux distributions as their default CPU frequency scaling driver configuration for Intel CPUs and instead switching to P-State performance, the difference is more pronounced than what we are used to seeing from desktop CPUs but also with big CPU power consumption implications.
For some background reference, such as with prior testing using the i9-9900K thee P-State powersave to performance governor change boosted the performance by just ~3.5% while the CPU power consumption wasn't all that different. Or even on Intel Xeon Scalable governor tests going from P-State powersave to performance was 11% faster performance while the CPU power consumption on average went up by 7% and no difference to the CPU peak power consumption. That jives with our P-State/CPUFreq testing over the years where in general changing the governor can offer up to a few percent faster performance at the cost of similarly a few percent higher power consumption on average.
With the Core i9 11900K, switching from P-State powersave to performance yielded a 9% performance increase with some select cases up to 20~30% faster. The real kicker though was the CPU power consumption average jumping by 37% and the peak CPU power consumption up by 7%. This is I believe the first time ever seeing the CPU peak power consumption showing such a measurable difference as normally with P-State powersave the top performance states (and in turn peak power draw) is still being hit, just potentially less often than the performance governor.
Some of the key takeaways from the extensive benchmarking looking at the Intel Core i9 11900K between Linux's P-State powersave (default) and the performance governor when using Linux 5.12 includes:
- As said, the geometric mean of 156 different tests showed a 9% improvement overall when switching from P-State powersave that is used by default to the performance governor. But in some cases like Google Chrome and Firefox browser benchmarks were ~20% faster. Some Java and Python workloads were also in the ~20% range. Lots of workloads were 10%+ faster. This all is much more than we are used to seeing from changing the P-State governor where it is often in the few percent range.
- As for why the performance is so much better with the governor change on the i9-11900K, that appears to be shown by having monitored the peak CPU frequency during the benchmarking process. With the P-State powersave governor the highest peak frequency recorded during the entire duration of benchmarks was 5.07GHz but with the P-State performance governor was 5.3GHz (or even a few reported readings at 5.439GHz). The Core i9 11900K has an advertised Turbo Boost (2.0) frequency of 5.1GHz, which seems to be what is hitting with the powersave governor. While the i9-11900K also has Turbo Boost Max 3.0 and Thermal Velocity Boost where the peak is at 5.3GHz... It seems that 5.3GHz rating on Linux is only being hit if changing over to the performance governor.
- The average peak CPU frequency during testing also came out quite a bit different at 4.1GHz average for the powersave governor while the average with the performance governor was 5.1GHz. With the performance governor, the i9-11900K never clocked below 4.6GHz even during the brief idle periods between benchmark runs.
- While the performance gains are nice, the P-State performance governor really drives up the CPU power consumption -- wildly compared to what we are used to seeing... Across that span of 156 benchmarks carried out for this article, the CPU average power consumption rate jumped from a 97 Watt average up to a 133 Watt average across all the benchmarks. Mind you the Core i9 11900K carries an official TDP rating of 125 Watts. Besides the CPU power consumption average being 37% higher with the performance governor, there was a dramatic difference in the peak power consumption... The Core i9 11900K with the performance governor now peaked at 383 Watts!
- Most of the time the Core i9 11900K with the powersave governor was consuming 290 Watts or less but peaked up to 358 Watts but with the performance governor now was routinely in the ~340 Watt range with recorded peaks as high as 383 Watts. That data is straight from Intel's RAPL interface.
- In some particular benchmarks the average CPU power consumption difference was around 60% higher with the performance governor.
- With the large shift in power consumption, the CPU core temperature also went from an average of 53 degrees to nearly 65 degrees.
- This testing was also the first time where using the P-State performance governor induced stability problems with the wild power usage... When running the P-State powersave governor all the workloads were stable as expected. With the P-State performance governor is the first time I have found the i9-11900K to randomly reboot under Linux. LuxCoreRender (CPU-based rendering mode) and SVT-HEVC (Intel's optimized H.265 CPU video encoder) were two workloads that were causing the system to suddenly reboot when thrashing the processor. This didn't occur with the powersave governor but happened reliably with the performance governor multiple times and had to blacklist those test profiles from the run in order to be able to successfully complete all of the benchmarks without any reboots under load.
So long story short, the Core i9 11900K when changing to the P-State performance governor is seeing quite significant performance increases but at the cost of dramatically higher power consumption, far higher than what is normally seen with other Intel or AMD processors on Linux. That higher power consumption is seeming to cause stability issues for at least some workloads. With the exception of Intel's own Clear Linux and other niche distributions, most Linux distributions default to P-State powersave for Intel CPUs for the best mix of power/performance. It looks like Intel Rocket Lake could stand from better power management tuning on Linux.
Let's dig into some of the individual results.