New Patches Allow More Easily Managing The AMD P-State Linux Driver
AMD previously worked on some patches to improve the handling for those wanting to use amd_pstate. But for those having ACPI CPUFreq built-in as is commonly the case, you need to worry about blocking the init call for the ACPI CPUFreq code or otherwise rebuilding the kernel without it built-in. The experience just hasn't been as graceful as using Intel P-State. But now there are patches that make it more trivial.
A set of five patches sent out on Thursday now make the AMD P-State driver a built-in type to resolve the driver loading sequence issue. There are also new kernel parameters to control the behavior.
In addition to making the AMD P-State driver built-in, the amd_pstate=disable option is introduced as a kernel boot option for those not wanting to load the AMD P-State driver. The amd_pstate=passive option is also introduced for loading the AMD P-State driver in passive mode.
AMD isn't yet wanting to make the AMD P-State driver enabled by default yet in the upstream kernel as they do acknowledge some performance issues compared to ACPI CPUFreq. I've noted some of those regressions before while the hope is the new AMD P-State EPP code will eliminate those regressions. Once AMD P-State EPP is upstreamed, they hope that CPU frequency scaling management will be in good shape for the default. The patch series noted:
Set the `amd_pstate` driver disabled by default because of performance degradation on a number of AMD ASICs in the passive mode driver, especially the shared memory support processors.
EPP support for the amd_pstate driver is under review. With EPP support, the said performance issue is resolved. Once that gets upstream, the `active` mode amd_pstate_epp driver may be enabled by default.
These new AMD P-State patches to make it built-in and the new options will hopefully be picked up for the v6.2 kernel cycle. However, with AMD P-State EPP driver code still being under review it's not clear that it will be ready for 6.2 so may wait until a later kernel release in 2023.