[PATCH v3 0/9] cpufreq/amd-pstate: BIOS min perf fixes and Dynamic EPP rework
K Prateek Nayak <[email protected]>
| Newsgroups | org.kernel.vger.linux-pm,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
This is a follow up of https://lore.kernel.org/lkml/[email protected]/ 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/[email protected]/) (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