[PATCH v4 0/5] cpufreq: improve frequency invariance support
From: Ionela Voinescu
Date: Fri Aug 28 2020 - 13:33:53 EST
Hi guys,
Please find here v4:
- addressing Viresh's comments on patches 1/5 and 3/5, and
- with his Acked-by applied for the rest of the patches;
- v3 can be found at [3], and
- this is based on linux-next 20200827.
Many thanks for the review,
Ionela.
---
v2->v3
- v2 can be found at [2]
- 1/5 was introduced to check input frequencies to
arch_set_freq_scale() as recommended by Rafael
- The previous 2/7 was squashed into 1/7 - now 2/5, with additions to
the changelog as suggested by Rafael.
- The previous 3/7 (BL_SWITCHER handling) was dropped to be handled
in a separate patch. This does not change the current functionality.
- The previous 4/7 - now 3/5 is simplified as suggested by Viresh.
- 3/5 - cpufreq_supports_freq_invariance() replaces
cpufreq_sets_freq_scale(). The meaning chosen for
cpufreq_supports_freq_invariance() is whether it can set the frequency
scale factor, not whether arch_set_freq_scale() actually does.
- 4/5 - Change after Catalin's Ack: The changes to
arch_set_thermal_pressure() were dropped as they were done in a separate
patch. Therefore this patch now has a subset of the previous changes
at 5/7
- 5/5 - Change after Catalin's Ack:
s/cpufreq_sets_freq_scale/cpufreq_supports_freq_invariance
- v3 is based on linux-next 20200814
v1 -> v2:
- v1 can be found at [1]
- No cpufreq flags are introduced
- Previous patches 2/8 and 3/8 were squashed in this series under 1/7,
to ensure bisection.
- 2/7 was introduced as a proposal for Viresh's suggestion to use
policy->cur in the call to arch_set_freq_scale() and is extended to
support drivers that implement the target() callback as well
- Additional commit message changes are added to 1/7 and 2/7, to
clarify that the definition of arch_set_freq_scale() will filter
settings of the scale factor, if unwanted
- 3/7 disables setting of the scale factor for
CONFIG_BL_SWITCHER, as Dietmar suggested
- Small change introduced in 4/7 to disable cpufreq-based frequency
invariance for the users of the default arch_set_freq_scale() call
which will not actually set a scale factor
- build issue solved (reported by 0day test)
- v2 is based on linux-next 20200716
- all functional tests in v1 were repeated for v2
[1] https://lore.kernel.org/lkml/20200701090751.7543-1-ionela.voinescu@xxxxxxx/
[2] https://lore.kernel.org/lkml/20200722093732.14297-1-ionela.voinescu@xxxxxxx/
[3] https://lore.kernel.org/lkml/20200824210252.27486-1-ionela.voinescu@xxxxxxx/
Ionela Voinescu (3):
arch_topology: validate input frequencies to arch_set_freq_scale()
cpufreq: move invariance setter calls in cpufreq core
cpufreq: report whether cpufreq supports Frequency Invariance (FI)
Valentin Schneider (2):
arch_topology, cpufreq: constify arch_* cpumasks
arch_topology, arm, arm64: define arch_scale_freq_invariant()
arch/arm/include/asm/topology.h | 1 +
arch/arm64/include/asm/topology.h | 1 +
arch/arm64/kernel/topology.c | 9 ++++++-
drivers/base/arch_topology.c | 15 ++++++++++--
drivers/cpufreq/cpufreq-dt.c | 10 +-------
drivers/cpufreq/cpufreq.c | 33 +++++++++++++++++++++++---
drivers/cpufreq/qcom-cpufreq-hw.c | 9 +------
drivers/cpufreq/scmi-cpufreq.c | 12 ++--------
drivers/cpufreq/scpi-cpufreq.c | 6 +----
drivers/cpufreq/vexpress-spc-cpufreq.c | 12 ++--------
include/linux/arch_topology.h | 4 +++-
include/linux/cpufreq.h | 8 ++++++-
12 files changed, 70 insertions(+), 50 deletions(-)
base-commit: 88abac0b753dfdd85362a26d2da8277cb1e0842b
--
2.17.1