From: K Prateek Nayak <kprateek.nayak@amd.com>
To: Mario Limonciello <mario.limonciello@amd.com>,
Huang Rui <ray.huang@amd.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Viresh Kumar <viresh.kumar@linaro.org>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Kalpana Shetty <kalpana.shetty@amd.com>
Cc: Perry Yuan <perry.yuan@amd.com>,
K Prateek Nayak <kprateek.nayak@amd.com>,
<linux-pm@vger.kernel.org>, <linux-doc@vger.kernel.org>,
<linux-kernel@vger.kernel.org>
Subject: [PATCH v3 0/9] cpufreq/amd-pstate: BIOS min perf fixes and Dynamic EPP rework
Date: Mon, 27 Jul 2026 07:20:47 +0000 [thread overview]
Message-ID: <20260727072056.1248-1-kprateek.nayak@amd.com> (raw)
This is a follow up of
https://lore.kernel.org/lkml/20260723201228.22584-1-kprateek.nayak@amd.com/
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@noisy.programming.kicks-ass.net/)
(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
next reply other threads:[~2026-07-27 7:21 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-27 7:20 K Prateek Nayak [this message]
2026-07-27 7:20 ` [PATCH v3 1/9] cpufreq/amd-pstate: Set min_limit_freq based on bios_min_perf K Prateek Nayak
2026-07-27 7:20 ` [PATCH v3 2/9] cpufreq/amd-pstate: Remove the defensive check for bios_min_perf K Prateek Nayak
2026-07-27 7:20 ` [PATCH v3 3/9] cpufreq/amd-pstate: Extract platform profile to EPP conversion into a helper K Prateek Nayak
2026-07-27 7:20 ` [PATCH v3 4/9] cpufreq/amd-pstate: Add dynamic EPP as an "energy_performance_preference" mode K Prateek Nayak
2026-07-27 7:20 ` [PATCH v3 5/9] cpufreq/amd-pstate: Remove "amd_dynamic_epp" cmdline and "dynamic_epp" sysfs K Prateek Nayak
2026-07-27 7:20 ` [PATCH v3 6/9] Documentation/amd-pstate: Update dynamic_epp documentation with new behavior K Prateek Nayak
2026-07-27 7:20 ` [PATCH v3 7/9] cpufreq/amd-pstate: Reduce the scope of exported symbols K Prateek Nayak
2026-07-27 7:20 ` [PATCH v3 8/9] cpufreq/amd-pstate-ut: Add unit test for "dynamic" EPP mode K Prateek Nayak
2026-07-27 7:20 ` [PATCH v3 9/9] cpufreq/amd-pstate-ut: Add unit test for CPPC Performance Priority K Prateek Nayak
2026-07-28 0:47 ` [PATCH v3 0/9] cpufreq/amd-pstate: BIOS min perf fixes and Dynamic EPP rework Mario Limonciello
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260727072056.1248-1-kprateek.nayak@amd.com \
--to=kprateek.nayak@amd.com \
--cc=corbet@lwn.net \
--cc=kalpana.shetty@amd.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=perry.yuan@amd.com \
--cc=rafael@kernel.org \
--cc=ray.huang@amd.com \
--cc=skhan@linuxfoundation.org \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox