Re: [PATCH V2 1/3] Calculate Thermal Pressure

From: Vincent Guittot
Date: Thu Apr 25 2019 - 08:46:12 EST


On Thu, 25 Apr 2019 at 12:57, Quentin Perret <quentin.perret@xxxxxxx> wrote:
>
> On Tuesday 16 Apr 2019 at 15:38:39 (-0400), Thara Gopinath wrote:
> > +/* Per cpu structure to keep track of Thermal Pressure */
> > +struct thermal_pressure {
> > + unsigned long scale; /* scale reflecting average cpu max capacity*/
> > + unsigned long acc_scale; /* Accumulated scale for this time window */
> > + unsigned long old_scale; /* Scale value for the previous window */
> > + unsigned long raw_scale; /* Raw max capacity */
> > + unsigned long age_stamp; /* Last time old_scale was updated */
> > + unsigned long last_update; /* Last time acc_scale was updated */
> > + spinlock_t lock; /* Lock for protecting from simultaneous access*/
> > + /* Timer for periodic update of thermal pressure */
> > + struct timer_list timer;
>
> Do you actually need the periodic update ? You only really need to
> update the 'scale' value when updating the LB stats no ? Nobody
> accesses that value in between two LBs.

Do you mean calling a variant of sched_update_thermal_pressure() in
update_cpu_capacity() instead of periodic update ?
Yes , that should be enough

>
> Thanks,
> Quentin