[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKfTPtDi9JN2gJAZ2BPqVbKwzHxop+4yev++LZsXq-igMT0Djg@mail.gmail.com>
Date: Fri, 8 Jun 2018 15:38:46 +0200
From: Vincent Guittot <vincent.guittot@...aro.org>
To: Juri Lelli <juri.lelli@...hat.com>
Cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Morten Rasmussen <Morten.Rasmussen@....com>,
viresh kumar <viresh.kumar@...aro.org>,
Valentin Schneider <valentin.schneider@....com>,
Patrick Bellasi <patrick.bellasi@....com>,
Joel Fernandes <joel@...lfernandes.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Quentin Perret <quentin.perret@....com>,
Ingo Molnar <mingo@...hat.com>,
Luca Abeni <luca.abeni@...tannapisa.it>,
Claudio Scordino <claudio@...dence.eu.com>
Subject: Re: [PATCH v6 06/11] cpufreq/schedutil: use dl utilization tracking
On 8 June 2018 at 15:36, Juri Lelli <juri.lelli@...hat.com> wrote:
> On 08/06/18 14:54, Juri Lelli wrote:
>> On 08/06/18 14:48, Vincent Guittot wrote:
>> > On 8 June 2018 at 14:39, Juri Lelli <juri.lelli@...hat.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 <mingo@...hat.com>
>> > >> Cc: Peter Zijlstra <peterz@...radead.org>
>> > >> Signed-off-by: Vincent Guittot <vincent.guittot@...aro.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?
>
> As discussed on IRC, we still endup selecting 1/5 of max freq because
> util_dl is below max.
>
> So, turning point is at ~320ms/[something_bigger], which looks a pretty
> big runtime, but I'm not sure if having that is OK. Also, it becomes
> smaller with CFS/RT background "perturbations". Mmm.
>
> BTW, adding Luca and Claudio. :)
Argh... I have added few more but forgot Luca and Claudio. I'm very sorry
Powered by blists - more mailing lists