Re: [PATCH v2 3/7] arch_topology: disable frequency invariance for CONFIG_BL_SWITCHER

From: Viresh Kumar
Date: Thu Jul 30 2020 - 00:24:29 EST


On 22-07-20, 10:37, Ionela Voinescu wrote:
> +++ b/drivers/base/arch_topology.c
> @@ -27,6 +27,7 @@ __weak bool arch_freq_counters_available(struct cpumask *cpus)
> }
> DEFINE_PER_CPU(unsigned long, freq_scale) = SCHED_CAPACITY_SCALE;
>
> +#ifndef CONFIG_BL_SWITCHER
> void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
> unsigned long max_freq)
> {
> @@ -46,6 +47,7 @@ void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
> for_each_cpu(i, cpus)
> per_cpu(freq_scale, i) = scale;
> }
> +#endif

I don't really like this change, the ifdef hackery is disgusting and
then we are putting that in a completely different part of the kernel.

There are at least these two ways of solving this, maybe more:

- Fix the bl switcher driver and add the complexity in it (which you
tried to do earlier).

- Add a cpufreq flag to skip arch-set-freq-scale call.

Rafael ?

--
viresh