Re: [PATCH 3/3] sched/fair: schedutil: explicit update only when required

From: Patrick Bellasi
Date: Tue May 15 2018 - 13:42:00 EST


On 15-May 18:53, Peter Zijlstra wrote:
> On Tue, May 15, 2018 at 03:53:43PM +0100, Patrick Bellasi wrote:
> > On 15-May 12:19, Vincent Guittot wrote:
> > > On 14 May 2018 at 18:32, Patrick Bellasi <patrick.bellasi@xxxxxxx> wrote:
> > What about adding a new explicit callback at the end of:
> > update_blocked_averages() ?
> >
> > Something like:
> >
> > ---8<---
> > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> > index cb77407ba485..6eb0f31c656d 100644
> > --- a/kernel/sched/fair.c
> > +++ b/kernel/sched/fair.c
> > @@ -7740,6 +7740,9 @@ static void update_blocked_averages(int cpu)
> > if (done)
> > rq->has_blocked_load = 0;
> > #endif
> > +
> > + cpufreq_update_util(rq, SCHED_CPUFREQ_IDLE);
> > +
> > rq_unlock_irqrestore(rq, &rf);
> > }
> > ---8<---
> >
> > Where we can also pass in a new SCHED_CPUFREQ_IDLE flag just to notify
> > schedutil that the CPU is currently IDLE?
> >
> > Could that work?
>
> Simlarly you could add ENQUEUE/DEQUEUE flags I suppose. But let's do all
> that later in separate patches and evaluate the impact separately, OK?

Sure, that's better to keep on a separate patch.

For the time being I'll just update this last patch with the above
snippet just to have the same behavior we have right now.

Then maybe we can also split this last patch into a separate series to
better evaluate the ideas to have "explicit" updates.

--
#include <best/regards.h>

Patrick Bellasi