From: Ingo Molnar <mingo@kernel.org>
To: Thara Gopinath <thara.gopinath@linaro.org>
Cc: linux-kernel@vger.kernel.org, mingo@redhat.com,
peterz@infradead.org, rui.zhang@intel.com,
gregkh@linuxfoundation.org, rafael@kernel.org,
amit.kachhap@gmail.com, viresh.kumar@linaro.org,
javi.merino@kernel.org, edubezval@gmail.com,
daniel.lezcano@linaro.org, linux-pm@vger.kernel.org,
quentin.perret@arm.com, ionela.voinescu@arm.com,
vincent.guittot@linaro.org
Subject: Re: [RFC PATCH 0/7] Introduce thermal pressure
Date: Fri, 19 Oct 2018 10:02:18 +0200 [thread overview]
Message-ID: <20181019080218.GA35752@gmail.com> (raw)
In-Reply-To: <5BC8B226.2040109@linaro.org>
* Thara Gopinath <thara.gopinath@linaro.org> wrote:
> > Yeah, so I'd definitely suggest to not integrate this averaging into
> > pelt.c in the fashion presented, because:
> >
> > - This couples your thermal throttling averaging to the PELT decay
> > half-time AFAICS, which would break the other user every time the
> > decay is changed/tuned.
>
> Let me pose the question in this manner. Today rt utilization, dl
> utilization etc is tracked via PELT. The inherent idea is that, a cpu
> has some capacity stolen by let us say rt task and so subtract the
> capacity utilized by the rt task from cpu when calculating the
> remaining capacity for a CFS task. Now, the idea behind thermal
> pressure is that, the maximum available capacity of a cpu is limited
> due to a thermal event, so take it out of the remaining capacity of a
> cpu for a CFS task (at-least to start with). If utilization for rt
> task, dl task etc is calculated via PELT and the capacity constraint
> due to thermal event calculated by another averaging algorithm, there
> can be some mismatch in the "capacity stolen" calculations, right?
> Isnt't it better to track all the events that can limit the capacity of
> a cpu via one algorithm ?
So what unifies RT and DL utilization is that those are all direct task
loads independent of external factors.
Thermal load is more of a complex physical property of the combination of
various internal and external factors: the whole system workload running
(not just that single task), the thermal topology of the hardware,
external temperatures, the hardware's and the governor's policy regarding
thermal loads, etc. etc.
So while obviously when effective capacity of a CPU is calculated then
these will all be subtracted from the maximum capacity of the CPU, but I
think the thermal load metric and the averaging itself is probably
dissimilar enough to not be calculated via the PELT half-life for
example.
For example a reasonable future property would be match the speed of
decay in the averaging to the observed speed of decay via temperature
sensors? Most temperature sensors do a certain amount of averaging
themselves as well - and some platforms might not expose temperatures at
all, only 'got thermally throttled' / 'running at full speed' kind of
feedback.
Anyway, this doesn't really impact the concept, it's an implementational
detail, and much of this could be resolved if the averaging code in
pelt.c was librarized a bit - and that's really what you did there in a
fashion, I just think it should probably be abstracted out more clearly.
(I have no clear implementational suggestions right now, other than 'try
and see how it works out - it might be a bad idea'.)
Thanks,
Ingo
next prev parent reply other threads:[~2018-10-19 8:02 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20181009162509epcas1p4fdd2e23039caa24586a4a52c6d2e7336@epcas1p4.samsung.com>
2018-10-09 16:24 ` [RFC PATCH 0/7] Introduce thermal pressure Thara Gopinath
2018-10-09 16:24 ` [RFC PATCH 1/7] sched/pelt.c: Add option to make load and util calculations frequency invariant Thara Gopinath
2018-10-09 16:24 ` [RFC PATCH 2/7] sched/pelt.c: Add support to track thermal pressure Thara Gopinath
2018-10-09 16:24 ` [RFC PATCH 3/7] sched: Add infrastructure to store and update instantaneous " Thara Gopinath
2018-10-09 16:24 ` [RFC PATCH 4/7] sched: Initialize per cpu thermal pressure structure Thara Gopinath
2018-10-09 16:25 ` [RFC PATCH 5/7] sched/fair: Enable CFS periodic tick to update thermal pressure Thara Gopinath
2018-12-04 15:43 ` Vincent Guittot
2018-10-09 16:25 ` [RFC PATCH 6/7] sched/fair: update cpu_capcity to reflect " Thara Gopinath
2018-10-10 5:57 ` Javi Merino
2018-10-10 14:22 ` Thara Gopinath
2018-10-09 16:25 ` [RFC PATCH 7/7] thermal/cpu-cooling: Update thermal pressure in case of a maximum frequency capping Thara Gopinath
2018-10-10 5:44 ` [RFC PATCH 0/7] Introduce thermal pressure Javi Merino
2018-10-10 14:15 ` Thara Gopinath
2018-10-10 6:17 ` Ingo Molnar
2018-10-10 8:29 ` Quentin Perret
2018-10-10 8:50 ` Vincent Guittot
2018-10-10 9:55 ` Quentin Perret
2018-10-10 10:14 ` Vincent Guittot
2018-10-10 10:36 ` Quentin Perret
2018-10-10 12:04 ` Vincent Guittot
2018-10-10 12:23 ` Juri Lelli
2018-10-10 12:34 ` Vincent Guittot
2018-10-10 12:50 ` Juri Lelli
2018-10-10 13:08 ` Vincent Guittot
2018-10-10 13:34 ` Juri Lelli
2018-10-10 13:38 ` Vincent Guittot
2018-10-10 17:08 ` Thara Gopinath
2018-10-10 13:11 ` Quentin Perret
2018-10-10 13:05 ` Quentin Perret
2018-10-10 13:27 ` Vincent Guittot
2018-10-10 13:47 ` Quentin Perret
2018-10-10 15:19 ` Vincent Guittot
2018-10-10 16:15 ` Ionela Voinescu
2018-10-10 17:03 ` Thara Gopinath
2018-10-10 15:43 ` Thara Gopinath
2018-10-16 7:33 ` Ingo Molnar
2018-10-16 9:28 ` Lukasz Luba
2018-10-17 16:21 ` Thara Gopinath
2018-10-18 6:48 ` Ingo Molnar
2018-10-18 7:08 ` Rafael J. Wysocki
2018-10-18 7:50 ` Ingo Molnar
2018-10-18 8:14 ` Rafael J. Wysocki
2018-10-18 9:35 ` [PATCH 1/2] sched/cpufreq: Reorganize the cpufreq files Daniel Lezcano
2018-10-18 9:35 ` [PATCH 2/2] sched/cpufreq: Add the SPDX tags Daniel Lezcano
2018-10-18 9:42 ` [PATCH 1/2] sched/cpufreq: Reorganize the cpufreq files Rafael J. Wysocki
2018-10-18 9:54 ` Daniel Lezcano
2018-10-18 10:06 ` Rafael J. Wysocki
2018-10-18 10:13 ` Daniel Lezcano
2018-10-18 9:45 ` Daniel Lezcano
2018-10-19 5:24 ` kbuild test robot
2018-10-19 5:52 ` kbuild test robot
2018-10-18 9:44 ` [PATCH V2 " Daniel Lezcano
2018-10-18 9:44 ` [PATCH V2 2/2] sched/cpufreq: Add the SPDX tags Daniel Lezcano
2018-10-18 16:17 ` [RFC PATCH 0/7] Introduce thermal pressure Thara Gopinath
2018-10-19 8:02 ` Ingo Molnar [this message]
2018-10-19 11:29 ` Valentin Schneider
2018-10-10 15:35 ` Lukasz Luba
2018-10-10 16:54 ` Daniel Lezcano
2018-10-11 7:35 ` Lukasz Luba
2018-10-11 8:23 ` Daniel Lezcano
2018-10-12 9:37 ` Lukasz Luba
2018-10-10 17:30 ` Thara Gopinath
2018-10-11 11:10 ` Lukasz Luba
2018-10-16 17:11 ` Vincent Guittot
2018-10-17 16:24 ` Thara Gopinath
2018-10-18 8:00 ` Lukasz Luba
2018-10-18 8:12 ` Lukasz Luba
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=20181019080218.GA35752@gmail.com \
--to=mingo@kernel.org \
--cc=amit.kachhap@gmail.com \
--cc=daniel.lezcano@linaro.org \
--cc=edubezval@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=ionela.voinescu@arm.com \
--cc=javi.merino@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=quentin.perret@arm.com \
--cc=rafael@kernel.org \
--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;
as well as URLs for NNTP newsgroup(s).