Re: [PATCH 1/8] cpufreq: allow drivers to flag custom support for freq invariance

From: Viresh Kumar
Date: Thu Jul 09 2020 - 05:09:19 EST


On 09-07-20, 09:53, Ionela Voinescu wrote:
> On Monday 06 Jul 2020 at 14:14:47 (+0200), Dietmar Eggemann wrote:
> > Why can't we just move the arch_set_freq_scale() call from cpufreq
> > driver to cpufreq core w/o introducing a FIE related driver flag?
> >
> > Current scenario for Frequency Invariance Engine (FIE) on arm/arm64.
> >
> > +------------------------------+ +------------------------------+
> > | | | |
> > | cpufreq core: | | arch: (arm, arm64) |
> >
> > | | | |
> > | weak arch_set_freq_scale() {}| | |
> > | | | |
> > +------------------------------+ | |
> > | |
> > +------------------------------+ | |
> > | | | |
> > | cpufreq driver: | | |
> > | +-----------> arch_set_freq_scale() |
> > | | | { |
> > +------------------------------+ | if (use counters) |
> > | return; |
> > +------------------------------+ | ... |
> > | | | } |
> > | task scheduler: | | |
> > | +-----------> arch_scale_freq_tick()* |
> > | | | { |
> >
> > | | | if (!use counters) |
> > | | | return; |
> > | | | ... |
> > | | | } |
> > +------------------------------+ +------------------------------+
> >
> > * defined as topology_scale_freq_tick() in arm64
> >
> > Only Arm/Arm64 defines arch_set_freq_scale() to get the 'legacy' CPUfreq
> > based FIE. This would still be the case when we move
> > arch_set_freq_scale() from individual cpufreq drivers to cpufreq core.
> >
> > Arm64 is the only arch which has to runtime-choose between two different
> > FIEs. This is currently done by bailing out early in one of the FIE
> > functions based on 'use counters'.
> >
> > X86 (and others) will continue to not define arch_set_freq_scale().
> >
> > The issue with CONFIG_BL_SWITCHER (vexpress-spc-cpufreq.c) could be
> > solved arm/arm64 internally (arch_topology.c) by putting
> > arch_set_freq_scale() under a !CONFIG_BL_SWITCHER guard.
> > I doubt that there are any arm bL systems out there running it. At least
> > I'm not aware of any complaints due to missing FIE support in bl
> > switcher setups so far.

I agree to that.

> Thank you Dietmar, for your review.
>
> I was trying to suggest the same in my other replies.

I am sorry, I must have overlooked that part in your replies,
otherwise I may agreed to it :)

> Rafael, Viresh, would you mind confirming whether you still consider
> having an 'opt in' flag is preferable here?

Well, we wanted an opt-in flag instead of an opt-out one. And no flag
is certainly better.

--
viresh