On 08/06/18 14:48, Vincent Guittot wrote:
> On 8 June 2018 at 14:39, Juri Lelli <juri.le...@redhat.com> wrote:
> > Hi Vincent,
> >
> > On 08/06/18 14:09, Vincent Guittot wrote:
> >> Now that we have both the dl class bandwidth requirement and the dl class
> >> utilization, we can detect when CPU is fully used so we should run at max.
> >> Otherwise, we keep using the dl bandwidth requirement to define the
> >> utilization of the CPU
> >>
> >> Cc: Ingo Molnar <mi...@redhat.com>
> >> Cc: Peter Zijlstra <pet...@infradead.org>
> >> Signed-off-by: Vincent Guittot <vincent.guit...@linaro.org>
> >> ---
> >
> > [...]
> >
> >> @@ -190,20 +192,24 @@ static unsigned long sugov_aggregate_util(struct 
> >> sugov_cpu *sg_cpu)
> >>       if (rq->rt.rt_nr_running)
> >>               return sg_cpu->max;
> >>
> >> -     util = sg_cpu->util_dl;
> >> -     util += sg_cpu->util_cfs;
> >> +     util = sg_cpu->util_cfs;
> >>       util += sg_cpu->util_rt;
> >>
> >> +     if ((util + sg_cpu->util_dl) >= sg_cpu->max)
> >> +             return sg_cpu->max;
> >> +
> >
> > Mmm, won't we run at max (or reach max) with a, say, 100ms/500ms DL task
> > running alone?
> 
> not for a 100ms running task. You have to run more than 320ms to reach max 
> value
> 
> 100ms/500ms will vary between 0 and 907

OK, right, my point I guess is still that such a task will run fine at
~250 and it might be save more energy by doing so?

Also, less freq switches (consider for example a few background CFS
tasks waking up from time to time).

Reply via email to