Messages in this thread | | | From | Amit Kucheria <> | Date | Thu, 13 Feb 2020 18:17:26 +0530 | Subject | Re: [Patch v9 5/8] sched/fair: update cpu_capacity to reflect thermal pressure |
| |
On Wed, Jan 29, 2020 at 4:06 AM Thara Gopinath <thara.gopinath@linaro.org> wrote: > > cpu_capacity initially reflects the maximum possible capacity of a cpu. > Thermal pressure on a cpu means this maximum possible capacity is > unavailable due to thermal events. This patch subtracts the average thermal > pressure for a cpu from its maximum possible capacity so that cpu_capacity > reflects the actual maximum currently available capacity. > > Signed-off-by: Thara Gopinath <thara.gopinath@linaro.org> > --- > > v8->v9: > - Use thermal_load_avg to read rq->avg_thermal.load_avg. > > kernel/sched/fair.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 5f58c03..d879077 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -7753,8 +7753,15 @@ static unsigned long scale_rt_capacity(struct sched_domain *sd, int cpu) > if (unlikely(irq >= max)) > return 1; > > + /* > + * avg_rt.util avg and avg_dl.util track binary signals
For avg_rt, s/util avg/util_avg/ For avg_dl, s/util/util_avg/ ?
> + * (running and not running) with weights 0 and 1024 respectively. > + * avg_thermal.load_avg tracks thermal pressure and the weighted > + * average uses the actual delta max capacity(load). > + */ > used = READ_ONCE(rq->avg_rt.util_avg); > used += READ_ONCE(rq->avg_dl.util_avg); > + used += thermal_load_avg(rq); > > if (unlikely(used >= max)) > return 1; > -- > 2.1.4 >
| |