AMD + Valve Focusing On P-State / CPPC Driver With Schedutil For Better Linux Efficiency
This effort largely comes down to what was anticipated that AMD is working on this new "AMD P-State" driver for leveraging ACPI Collaborative Processor Performance Controls (CPPC) for making more informed CPU frequency scaling / performance state decisions. CPPC is supported by AMD CPUs with Zen 2 and newer though initially this driver is limited to a subset of Zen 3 processors until properly vetted. Additionally, AMD (and Valve) are focused on making use of the Schedutil governor that leverages the kernel's scheduler utilization data for trying to make more accurate decisions too. Schedutil is already the default with ACPI CPUFreq on many Linux distribution kernels when not using Intel's P-State driver and is generally in great shape. Upstream has also been pushing for AMD to embrace Schedutil going back to when they were originally dabbling with ACPI CPPC support in 2019 for Zen 2.
AMD's Ray Huang presented on Friday at the X.Org Developers' Conference (XDC2021) around their work. Below is the presentation for those interested, but long story short as is well known ACPI CPUFreq is less than ideal and AMD P-State is being worked on to improve the situation for newer AMD CPUs, similar to Intel with their P-State driver.
AMD's figures are showing the new P-State driver delivering measurable performance/efficiency improvements over CPUFreq for different workloads. My own testing has been somewhat mixed with the hardware I've been testing... In some cases, yes, the perf-per-Watt is better but the overall raw performance is measurably lower in some cases. I'll have up my article next week.
The AMD P-State driver remains under development and not yet mainlined, so won't be coming until at least Linux 5.16 at the earliest.
There is also this slide deck to go along with the presentation.