Intel Core i9 12900K P-State Governor Performance On Linux
Since Intel's Alder Lake launch one of the test requests to come in a few times has been about the Intel P-State CPU frequency scaling driver and how its performance differs with the various governor choices available for altering the CPU frequency scaling behavior. Now that Linux 5.16 stable is out and running in good shape on Alder Lake, here are some Core i9 12900K benchmarks looking at various CPU frequency scaling choices and their impact on raw performance as well as CPU thermals and power consumption.
With Alder Lake having seen fixes in Linux 5.16 as well as ADL-S graphics being enabled by default on this new kernel, it's a good target for carrying out the P-State testing. The main reader inquiry has obviously been about how how well these new Intel hybrid processors perform if moving from P-State "powersave" as is often the default governor on most distributions to instead using the "performance" governor that tends to keep the CPU in its higher performance states more aggressively than powersave.
So this article is looking at P-State powersave as found by default on the likes of Ubuntu and many other distributions compared to running in P-State performance mode. When bumping to the intel_pstate performance mode the EPP value also changes from balance_performance to -performance. Additionally, the system was then booted with intel_pstate=passive so that with the intel_cpufreq driver in use the Schedutil governor becomes available for making use of the kernel's scheduler utilization data for making more informed CPU frequency scaling decisions. Plus in that passive mode with intel_pstate doing a run there with the performance governor for good measure.
This Alder Lake Linux CPU frequency scaling comparison was carried out on an Intel Core i9 12900K with ASUS ROG STRIX Z690-E GAMING WiFi motherboard using its latest firmware at the time of testing. An Ubuntu 22.04 development build was at play while manually moving to the recently released Linux 5.16 kernel. No other changes were made during the testing.