mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Dietmar Eggemann <dietmar.eggemann@arm.com>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Thara Gopinath <thara.gopinath@linaro.org>,
	Ingo Molnar <mingo@redhat.com>,
	Ionela Voinescu <ionela.voinescu@arm.com>,
	Zhang Rui <rui.zhang@intel.com>,
	Quentin Perret <qperret@google.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	viresh kumar <viresh.kumar@linaro.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Amit Kachhap <amit.kachhap@gmail.com>,
	Javi Merino <javi.merino@kernel.org>,
	Amit Kucheria <amit.kucheria@verdurent.com>
Subject: Re: [Patch v8 4/7] sched/fair: Enable periodic update of average thermal pressure
Date: Wed, 29 Jan 2020 16:41:08 +0100	[thread overview]
Message-ID: <f5d64110-85bf-92a5-9d63-faa5d64d2155@arm.com> (raw)
In-Reply-To: <CAKfTPtCG2xT2+Hwo__N2+0nSRkdOQqtJ_38AxpC4AbCe60y=Xw@mail.gmail.com>

On 27/01/2020 16:15, Vincent Guittot wrote:
> On Mon, 27 Jan 2020 at 13:09, Dietmar Eggemann <dietmar.eggemann@arm.com> wrote:
>>
>> On 24/01/2020 16:45, Vincent Guittot wrote:
>>> On Fri, 24 Jan 2020 at 16:37, Dietmar Eggemann <dietmar.eggemann@arm.com> wrote:
>>>>
>>>> On 17/01/2020 16:39, Vincent Guittot wrote:
>>>>> On Fri, 17 Jan 2020 at 15:55, Peter Zijlstra <peterz@infradead.org> wrote:
>>>>>>
>>>>>> On Fri, Jan 17, 2020 at 02:22:51PM +0100, Vincent Guittot wrote:
>>>>>>> On Thu, 16 Jan 2020 at 16:15, Peter Zijlstra <peterz@infradead.org> wrote:
>>
>> [...]
>>
>>>> The 'now' argument is one thing but why not:
>>>>
>>>> -int update_thermal_load_avg(u64 now, struct rq *rq, u64 capacity)
>>>> +int update_thermal_load_avg(u64 now, struct rq *rq)
>>>>  {
>>>> +       u64 capacity = arch_cpu_thermal_pressure(cpu_of(rq));
>>>> +
>>>>         if (___update_load_sum(now, &rq->avg_thermal,
>>>>
>>>> This would make the call-sites __update_blocked_others() and
>>>> task_tick(_fair)() cleaner.
>>>
>>> I prefer to keep the capacity as argument. This is more aligned with
>>> others that provides the value of the signal to apply
>>>
>>>>
>>>> I guess the argument is not to pollute pelt.c. But it already contains
>>>
>>> you've got it. I don't want to pollute the pelt.c file with things not
>>> related to pelt but thermal as an example.
>>>
>>>> arch_scale_[freq|cpu]_capacity() for irq.
>>
>> But isn't arch_cpu_thermal_pressure() not exactly the same as
>> arch_scale_cpu_capacity() and arch_scale_freq_capacity()?
>>
>> All of them are defined by default within the scheduler code
>> [include/linux/sched/topology.h or kernel/sched/sched.h] and can be
>> overwritten by arch code with a fast implementation (e.g. returning a
>> per-cpu variable).
>>
>> So why is using arch_scale_freq_capacity() and arch_scale_cpu_capacity()
>> in update_irq_load_avg [kernel/sched/pelt.c] and update_rq_clock_pelt()
> 
> As explained previously, update_irq_load_avg is an exception and not
> the example to follow. update_rt/dl_rq_load_avg are the example to
> follow and fixing update_irq_load_avg exception is on my todo list

There is already a v9 but I comment here so the thread stays intact.

I guess this thread leads to nowhere. For me the question is do we
review against existing code or some possible future changes? The
arguments didn't convince me so far.
But we're not talking functional issues here so I won't continue to push
for change on this one here.

>> [kernel/sched/pelt.h] OK but arch_cpu_thermal_pressure() in
>> update_thermal_load_avg() [kernel/sched/pelt.c] not?
>>
>> Shouldn't arch_cpu_thermal_pressure() not be called
>> arch_scale_thermal_capacity() to highlight the fact that those three
> 
> Quoted from cover letter https://lkml.org/lkml/2020/1/14/1164:
> "
> v6->v7:
>        - ...
>         - Renamed arch_scale_thermal_capacity to arch_cpu_thermal_pressure
>           as per review comments from Peter, Dietmar and Ionela.
>        -...
> 
> "

I went back to the v6 review. Peter originally asked for a better name
(or an additional comment) for arch_scale_thermal_capacity() because the
return value is not capacity.

So IMHO arch_scale_thermal_pressure() is a good name for keeping this
aligned w/ the other arch_scale_* functions and to address this review
comment.

arch_scale_cpu_capacity()     - scale capacity by cpu
arch_scale_freq_capacity()    - scale capacity by frequency
arch_scale_thermal_pressure() - scale pressure (1 - capacity) by thermal

[...]

  reply	other threads:[~2020-01-29 15:41 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-14 19:57 [Patch v8 0/7] Introduce Thermal Pressure Thara Gopinath
2020-01-14 19:57 ` [Patch v8 1/7] sched/pelt: Add support to track thermal pressure Thara Gopinath
2020-01-16 15:17   ` Peter Zijlstra
2020-01-23 19:15     ` Dietmar Eggemann
2020-01-24 19:07       ` Thara Gopinath
2020-01-27  9:28         ` Dietmar Eggemann
2020-01-28 13:32           ` Thara Gopinath
2020-01-28 16:15             ` Dietmar Eggemann
2020-02-13 12:03   ` Amit Kucheria
2020-02-13 12:31     ` Amit Kucheria
2020-01-14 19:57 ` [Patch v8 2/7] sched/topology: Add hook to read per cpu " Thara Gopinath
2020-01-14 19:57 ` [Patch v8 3/7] arm,arm64,drivers:Add infrastructure to store and update instantaneous " Thara Gopinath
2020-01-14 19:57 ` [Patch v8 4/7] sched/fair: Enable periodic update of average " Thara Gopinath
2020-01-16 15:15   ` Peter Zijlstra
2020-01-17 11:40     ` Quentin Perret
2020-01-17 12:31       ` Peter Zijlstra
2020-01-17 13:17         ` Vincent Guittot
2020-01-17 13:45           ` Quentin Perret
2020-01-17 13:22     ` Vincent Guittot
2020-01-17 14:55       ` Peter Zijlstra
2020-01-17 15:39         ` Vincent Guittot
2020-01-24 15:37           ` Dietmar Eggemann
2020-01-24 15:45             ` Vincent Guittot
2020-01-27 12:09               ` Dietmar Eggemann
2020-01-27 15:15                 ` Vincent Guittot
2020-01-29 15:41                   ` Dietmar Eggemann [this message]
2020-01-30  9:49                     ` Vincent Guittot
2020-01-17 20:20     ` Thara Gopinath
2020-01-14 19:57 ` [Patch v8 5/7] sched/fair: update cpu_capacity to reflect " Thara Gopinath
2020-01-14 19:57 ` [Patch v8 6/7] thermal/cpu-cooling: Update thermal pressure in case of a maximum frequency capping Thara Gopinath
2020-01-14 19:57 ` [Patch v8 7/7] sched/fair: Enable tuning of decay period Thara Gopinath
2020-01-17 11:47   ` Quentin Perret
2020-01-17 15:45     ` Thara Gopinath

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f5d64110-85bf-92a5-9d63-faa5d64d2155@arm.com \
    --to=dietmar.eggemann@arm.com \
    --cc=amit.kachhap@gmail.com \
    --cc=amit.kucheria@verdurent.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=ionela.voinescu@arm.com \
    --cc=javi.merino@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=qperret@google.com \
    --cc=rui.zhang@intel.com \
    --cc=thara.gopinath@linaro.org \
    --cc=vincent.guittot@linaro.org \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®