Re: [PATCH V3 1/2] topology: Allow multiple entities to provide sched_freq_tick() callback

From: Ionela Voinescu
Date: Fri Feb 19 2021 - 04:45:42 EST


On Friday 19 Feb 2021 at 10:28:23 (+0530), Viresh Kumar wrote:
> On 18-02-21, 16:36, Ionela Voinescu wrote:
> > Yes, we don't care if there is no cpufreq driver, as the use of AMUs won't
> > get initialised either. But we do care if there is a cpufreq driver that
> > does not support frequency invariance, which is the example above.
> >
> > The intention with the patches that made cpufreq based invariance generic
> > a while back was for it to be present, seamlessly, for as many drivers as
> > possible, as a less than accurate invariance default method is still
> > better than nothing.
>
> Right.
>
> > So only a few drivers today don't support cpufreq based FI
>
> Only two AFAICT, both x86, and the AMU stuff doesn't conflict with
> them.
>
> drivers/cpufreq/intel_pstate.c
> drivers/cpufreq/longrun.c
>
> > but it's not a guarantee that it will stay this way.
>
> What do you mean by "no guarantee" here ?
>
> The very core routines (cpufreq_freq_transition_end() and
> cpufreq_driver_fast_switch()) of the cpufreq core call
> arch_set_freq_scale() today and this isn't going to change anytime
> soon. If something gets changed there someone will need to see other
> parts of the kernel which may get broken with that.
>

Yes, but it won't really be straightforward to notice this breakage if
that happens, so in my opinion it was worth to keep that condition.

> I don't see any need of complicating other parts of the kernel like,
> amu or cppc code for that. They should be kept simple and they should
> assume cpufreq invariance will be supported as it is today.
>

Fair enough! It is a corner case after all.

Thanks,
Ionela.

> --
> viresh