Re: [PATCH v6 06/11] cpufreq/schedutil: use dl utilization tracking

From: Vincent Guittot
Date: Fri Jun 08 2018 - 08:48:49 EST


On 8 June 2018 at 14:39, Juri Lelli <juri.lelli@xxxxxxxxxx> 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@xxxxxxxxxx>
>> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>> Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
>> ---
>
> [...]
>
>> @@ -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

Vincent

>
> Best,
>
> - Juri