[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2a800d9c-2dfc-e901-da46-5f858d6abd57@arm.com>
Date: Thu, 18 Nov 2021 17:17:15 +0100
From: Dietmar Eggemann <dietmar.eggemann@....com>
To: Vincent Guittot <vincent.guittot@...aro.org>
Cc: Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>,
Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>,
Daniel Bristot de Oliveira <bristot@...hat.com>,
Valentin Schneider <Valentin.Schneider@....com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] sched/fair: Replace CFS internal cpu_util() with
cpu_util_cfs()
On 18.11.21 09:07, Vincent Guittot wrote:
> On Wed, 17 Nov 2021 at 18:26, Dietmar Eggemann <dietmar.eggemann@....com> wrote:
>>
>> On 12.11.21 17:20, Vincent Guittot wrote:
>>> On Fri, 12 Nov 2021 at 15:14, Dietmar Eggemann <dietmar.eggemann@....com> wrote:
>>>>
>>>> cpu_util_cfs() was created by commit d4edd662ac16 ("sched/cpufreq: Use
>>>> the DEADLINE utilization signal") to enable the access to CPU
>>>> utilization from the Schedutil CPUfreq governor.
>>>>
>>>> Commit a07630b8b2c1 ("sched/cpufreq/schedutil: Use util_est for OPP
>>>> selection") added util_est support later.
>>>>
>>>> The only thing cpu_util() is doing on top of what cpu_util_cfs() already
>>>> does is to clamp the return value to the [0..capacity_orig] capacity
>>>> range of the CPU. Integrating this into cpu_util_cfs() is not harming
>>>> the existing users (Schedutil and CPUfreq cooling (latter via
>>>> sched_cpu_util() wrapper)).
>>>
>>> Could you to update cpu_util_cfs() to use cpu as a parameter instead of rq ?
>>
>> I could but I decided to use use `struct rq *rq` instead.
>>
>> (A) We already know the rq in the following functions where we call
>> cpu_util_cfs():
>
> The only user of cpu_util_cfs() is sugov_get_util() and it does
> cpu_util_cfs(cpu_rq(sg_cpu->cpu)) because rq is only used as a
> parameter of cpu_util_cfs()
Sure, I guess there is another user currently: cpufreq_cooling
get_load() -> sched_cpu_util() ->
effective_cpu_util(..., cpu_util_cfs(cpu_rq(cpu)), ...)
^^^^^^^^^^^^^^^^^^^^^^^^^
>
> all other ones are using cpu_util() which already uses cpu as a
> parameter so it's more straight forward to keep using cpu
OK, will do it this way, just wanted to mention the possibility to save
some of these cpu_rq(cpu) calls.
[...]
>> /**
>> * cpu_util_cfs() - Estimates the amount of CPU capacity used by CFS tasks.
>> * @cpu: the CPU to get the utilization for.
>
> cpu is clearly the right parameter ;-)
Not very clever of me ;-)
[...]
Powered by blists - more mailing lists