An Early Look At The AMD P-State CPPC Driver Performance vs. ACPI CPUFreq
Earlier this month AMD posted their initial public patches for the AMD P-State CPU frequency scaling driver that leverages ACPI CPPC for ultimately aiming to provide better power efficiency and more responsive CPU frequency scaling / performance state decisions on Zen 3 (and Zen 2 eventually) processors. This is part of the effort around AMD and Valve collaborating for better Linux efficiency especially with the AMD-powered Steam Deck.
This amd_pstate driver remains a work-in-progress and so far was just sent out in initial patch form earlier this month and not yet queued up for mainlining, etc. It will likely take a few rounds of review before being merged especially with not all Zen 2/3 CPUs/APUs are yet supported among other items still settling with this new driver.
I've been testing the amd-pstate-dev-v1 patches from earlier this month on a few different systems. In the limited number of benchmarks shared by AMD, the results have been quite promising for boosting AMD processor energy efficiency, but at least with the different systems I've tested so far, the results have been mixed. In some cases the efficiency is looking better, but it's also with lower raw performance. In some cases, the raw performance is significantly impacted by amd_pstate.
My testing has been looking at the ACPI CPUFreq driver compared to the tentative AMD PState driver while testing both with the ondemand/performance/schedutil governor options. The amd-pstate-dev-v1 branch was tracking Linux 5.14-rc7 that was used as the version for testing both acpi_cpufreq and amd_pstate drivers. The CPU power consumption was monitored using the RAPL interface and for also auto-generating the perf-per-Watt.
First up is a look at the AMD Linux gaming performance impact followed by several other early system tests. More benchmarks to come as this new driver stabilizes and hopefully in better shape.