[PATCH v5 0/5] cpufreq: improve frequency invariance support

From: Ionela Voinescu
Date: Tue Sep 01 2020 - 16:57:10 EST


Hi,

v4->v5
- I've applied Viresh's remaining suggestion and Acked-by/s
- v4 can be found at [4]
- v5 is based on linux-next 20200828

Thank you,
Ionela.

---
v3->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.

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/
[4] https://lore.kernel.org/lkml/20200828173303.11939-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 | 13 ++++++++--
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, 68 insertions(+), 50 deletions(-)


base-commit: b36c969764ab12faebb74711c942fa3e6eaf1e96
--
2.17.1