diff options
author | Dietmar Eggemann <dietmar.eggemann@arm.com> | 2022-06-21 10:04:10 +0100 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-06-28 09:17:46 +0200 |
commit | bb4479994945e9170534389a7762eb56149320ac (patch) | |
tree | 949e049d67ea05825d5893bda35ddf8e4bd94040 /drivers/thermal/cpufreq_cooling.c | |
parent | e2f3e35f1f5a4dccddf352cea534542544c9b867 (diff) | |
download | linux-bb4479994945e9170534389a7762eb56149320ac.tar.gz linux-bb4479994945e9170534389a7762eb56149320ac.tar.bz2 linux-bb4479994945e9170534389a7762eb56149320ac.zip |
sched, drivers: Remove max param from effective_cpu_util()/sched_cpu_util()
effective_cpu_util() already has a `int cpu' parameter which allows to
retrieve the CPU capacity scale factor (or maximum CPU capacity) inside
this function via an arch_scale_cpu_capacity(cpu).
A lot of code calling effective_cpu_util() (or the shim
sched_cpu_util()) needs the maximum CPU capacity, i.e. it will call
arch_scale_cpu_capacity() already.
But not having to pass it into effective_cpu_util() will make the EAS
wake-up code easier, especially when the maximum CPU capacity reduced
by the thermal pressure is passed through the EAS wake-up functions.
Due to the asymmetric CPU capacity support of arm/arm64 architectures,
arch_scale_cpu_capacity(int cpu) is a per-CPU variable read access via
per_cpu(cpu_scale, cpu) on such a system.
On all other architectures it is a a compile-time constant
(SCHED_CAPACITY_SCALE).
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Vincent Guittot <vincent.guittot@linaro.org>
Tested-by: Lukasz Luba <lukasz.luba@arm.com>
Link: https://lkml.kernel.org/r/20220621090414.433602-4-vdonnefort@google.com
Diffstat (limited to 'drivers/thermal/cpufreq_cooling.c')
-rw-r--r-- | drivers/thermal/cpufreq_cooling.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c index b8151d95a806..b263b0fde03c 100644 --- a/drivers/thermal/cpufreq_cooling.c +++ b/drivers/thermal/cpufreq_cooling.c @@ -137,11 +137,9 @@ static u32 cpu_power_to_freq(struct cpufreq_cooling_device *cpufreq_cdev, static u32 get_load(struct cpufreq_cooling_device *cpufreq_cdev, int cpu, int cpu_idx) { - unsigned long max = arch_scale_cpu_capacity(cpu); - unsigned long util; + unsigned long util = sched_cpu_util(cpu); - util = sched_cpu_util(cpu, max); - return (util * 100) / max; + return (util * 100) / arch_scale_cpu_capacity(cpu); } #else /* !CONFIG_SMP */ static u32 get_load(struct cpufreq_cooling_device *cpufreq_cdev, int cpu, |