[PATCH v3 0/9] cpufreq/amd-pstate: BIOS min perf fixes and Dynamic EPP rework
From: K Prateek Nayak
Date: Mon Jul 27 2026 - 03:27:51 EST
This is a follow up of
https://lore.kernel.org/lkml/20260723201228.22584-1-kprateek.nayak@xxxxxxx/
with comments from Mario and Sashiko addressed.
Patches are based on:
git.kernel.org/pub/scm/linux/kernel/git/superm1/linux.git bleeding-edge
at commit 39c0cf62fc78 ("cpufreq/amd-pstate: handle missing policy in
dynamic EPP callbacks")
Everyone has been Cc'd on the cover letter. Respective maintainers have
been Cc'd on the relevant patches to reduce noise. Lists get the full
series.
---
changelog v2..v3:
o Ensure min_limit_perf is always <= max_limi_perf when adhering to
bios_min_perf constraints. (Sashiko)
o Fix the units in debug message to KHz. (Sashiko)
o Added a policy check for dynamic mode toggle. (Sashiko)
o Reworded documentation based on suggestion. (Mario)
o Collected tags from Mario and fix typos highlighted. (Thanks a ton!)
Some Sashiko reviews haven't been addressed in this series:
Mixing of __free() and goto was considered safe as long as they are in
the same scope and programmers know what they are doing. (See
https://lore.kernel.org/all/20260327152052.GJ3738010@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/)
(The flagging was unrelated to changes in this series)
Kdump scenario for bios_floor_perf is ignored as (afaik) kdump kernels
are loaded temporarily for debug and dumping out data structures that
are preserved from last crash, and an inaccurate bios_min_perf during
this process should be acceptable.
System profile notifiers do not grab the policy sem to prevent a
deadlock with disable path. Disable path already grabs the read end and
a pending notifier must finish for it to be removed. Since the driver
disallows EPP modifications in dynamic mode, this is handled by the
driver without needing to grab the policy sem in notifier handler.
amd-pstate-ut is considered a developer test and is supposed to be run
in isolation without any parallel modifications to driver settings. As
such, any of those concerns have not been addressed here.
---
K Prateek Nayak (9):
cpufreq/amd-pstate: Set min_limit_freq based on bios_min_perf
cpufreq/amd-pstate: Remove the defensive check for bios_min_perf
cpufreq/amd-pstate: Extract platform profile to EPP conversion into a
helper
cpufreq/amd-pstate: Add dynamic EPP as an
"energy_performance_preference" mode
cpufreq/amd-pstate: Remove "amd_dynamic_epp" cmdline and "dynamic_epp"
sysfs
Documentation/amd-pstate: Update dynamic_epp documentation with new
behavior
cpufreq/amd-pstate: Reduce the scope of exported symbols
cpufreq/amd-pstate-ut: Add unit test for "dynamic" EPP mode
cpufreq/amd-pstate-ut: Add unit test for CPPC Performance Priority
Documentation/admin-guide/pm/amd-pstate.rst | 45 ++--
drivers/cpufreq/amd-pstate-ut.c | 131 ++++++++--
drivers/cpufreq/amd-pstate.c | 251 ++++++++++----------
drivers/cpufreq/amd-pstate.h | 9 +
4 files changed, 262 insertions(+), 174 deletions(-)
base-commit: 39c0cf62fc7851a17782e7efe8dfb2948739c681
--
2.34.1