Re: [PATCH v4 6/7] arm64: use activity monitors for frequency invariance

From: Ionela Voinescu
Date: Wed Feb 26 2020 - 05:18:51 EST


Hi Valentin, Lukasz,

On Tuesday 25 Feb 2020 at 09:59:20 (+0000), Lukasz Luba wrote:
[..]
> On 2/24/20 6:40 PM, Valentin Schneider wrote:
> >
> > Ionela Voinescu writes:
> > > +static inline int
> >
> > That should be bool, seeing what it returns.
> >

Will do!

[..]
> > >
> > > +#ifndef arch_cpu_freq_counters
> > > +static __always_inline
> > > +bool arch_cpu_freq_counters(struct cpumask *cpus)
> > > +{
> > > + return false;
> > > +}
> > > +#endif
> > >
> >
> > Apologies for commenting on this only now, I had missed it in my earlier
> > round of review.
> >
> > I would've liked to keep this contained within arm64 stuff until we agreed
> > on a more generic counter-driven FIE interface, but seems like we can't evade
> > it due to the arch_topology situation.
> >
> > Would it make sense to relocate this stub to arch_topology.h instead, at
> > least for the time being? That way the only non-arm64 changes are condensed
> > in arch_topology (even if it doesn't change much in terms of header files,
> > since topology.h imports arch_topology.h)
>
> Or make it as a 'weak' and place it just above the arch_set_freq_scale()
> in arch_topology.c, not touching headers?

Yes, you guys are right, this works better nicely confined to
arch_topology.c/h. As Lukasz suggested, I'll make
arch_cpu_freq_counters (while here, it probably works better renamed to
arch_freq_counters_available) a weak function in arch_topology.c with
its strong definition in arm64/kernel/topology.c.

The diff is large(ish) so I'll push v5 directly with this change.

Thank you both for the review,
Ionela.