Re: [PATCH V3 3/3] thermal/cpu-cooling: Update thermal pressure in case of a maximum frequency capping

From: Vincent Guittot
Date: Thu Apr 25 2019 - 08:04:26 EST

On Thu, 25 Apr 2019 at 12:45, Quentin Perret <quentin.perret@xxxxxxx> wrote:
> On Tuesday 23 Apr 2019 at 18:38:46 (-0400), Thara Gopinath wrote:
> > I think there is one major difference between user-defined frequency
> > constraints and frequency constraints due to thermal events in terms of
> > the time period the system spends in the the constraint state.
> > Typically, a user constraint lasts for seconds if not minutes and I
> > think in this case cpu_capacity_orig should reflect this constraint and
> > not cpu_capacity like this patch set.
> That might not always be true I think. There's tons of userspace thermal
> deamons out there, and I wouldn't be suprised if they were writing into
> the cpufreq sysfs files, although I'm not sure.

They would better use the sysfs set_target interface of cpu_cooling
device in this case.

> Another thing is, if you want to change the capacity_orig value, you'll
> need to rebuild the sched domains and all I believe. Otherwise there is
> a risk to 'break' the sd_asym flags. So we need to make sure we're happy
> to pay that price.

That would be the goal, if userspace uses the sysfs interface of
cpufreq to set a new max frequency, it should be considered as a long
change in regards to the scheduling rate and in this case it should be
interesting to update cpacity_orig and rebuild sched_domain.

> > Also, in case of the user
> > constraint, there is possibly no need to accumulate and average the
> > capacity constraints and instantaneous values can be directly applied to
> > cpu_capacity_orig. On the other hand thermal pressure is more spiky and
> > sometimes in the order of ms and us requiring the accumulating and
> > averaging.
> > >
> > > Perhaps the Intel boost stuff could be factored in there ? That is,
> > > at times when the boost freq is not reachable capacity_of() would appear
> > > smaller ... Unless this wants to be reflected instantaneously ?
> > Again, do you think intel boost is more applicable to be reflected in
> > cpu_capacity_orig and not cpu_capacity?
> I'm not even sure if we want to reflect it at all TBH, but I'd be
> interested to see what Intel folks think :-)
> Thanks,
> Quentin