From: Hongyan Xia <hongyan.xia2@arm.com>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Qais Yousef <qyousef@layalina.io>, Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Morten Rasmussen <morten.rasmussen@arm.com>,
Lukasz Luba <lukasz.luba@arm.com>,
Christian Loehle <christian.loehle@arm.com>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 0/6] sched: uclamp sum aggregation
Date: Tue, 5 Dec 2023 17:23:54 +0000 [thread overview]
Message-ID: <7f0bfaa5-22c3-4ed3-bf34-cb7ad6b4c335@arm.com> (raw)
In-Reply-To: <CAKfTPtD10c4Uif6EATJ2SiAPdnEzXkC78nZE=q23dLM7fszvEQ@mail.gmail.com>
On 05/12/2023 16:26, Vincent Guittot wrote:
> On Tue, 5 Dec 2023 at 16:19, Hongyan Xia <hongyan.xia2@arm.com> wrote:
>>
>> On 04/12/2023 16:12, Vincent Guittot wrote:
>>> On Mon, 4 Dec 2023 at 02:48, Hongyan Xia <hongyan.xia2@arm.com> wrote:
>>>>
>>>> [...]
>>>>
>>>> Other shortcomings are not that critical, but the fact that uclamp_min's
>>>> effectiveness is divided by N under max aggregation I think is not
>>>> acceptable.
>>>
>>> Change EAS task placement policy in this case to take into account
>>> actual utilization and uclamp_min/max
>>
>> Thank you. I agree. I want to emphasize this specifically because this
>> is exactly what I'm trying to do. The whole series can be rephrased in a
>> different way:
>>
>> - The PELT signal is distorted when uclamp is active.
>
> Sorry but no it's not >> - Let's consider the [PELT, uclamp_min, uclamp_max] tuple.
>
> That's what we are already doing with effective_cpu_util. We might
> want to improve how we use them in EAS but that's another story than
> your proposal
It's different. We never catch how we *got* the PELT value. If we wake
up a task, what we do now is to have the following:
[p->util_avg, p->uclamp_min, p->uclamp_max, target_rq->uclamp_min,
target_rq->uclamp_max]
But to best understand how big this task really was, we want:
[p->util_avg, previous_rq->uclamp_min_back_then,
previous_rq->uclamp_max_back_then]
Without such information, issues cannot be avoided because we have no
idea how big the task really was. Frequency spikes is just one of the
symptoms when we mis-interpret how big the task was.
>> - Always carrying all three variables is too much, but [PELT,
>> clamped(PELT)] is an approximation that works really well.
>
> As said before. It's a no go for this mix
I see your concern. To rephrase this series again, I'm simply arguing that
[p->util_avg, previous_uclamp_min, previous_uclamp_max]
is better than
[p->util_avg, p->uclamp_min, p->uclamp_max, target_rq->uclamp_min,
target_rq->uclamp_max] plus the code to mitigate the issues
in estimating how big the task is.
I anticipate this series to be significantly smaller than the current
max aggregation approach plus future code to mitigate the problems, but
I'll keep trying to improve it to hopefully address your concerns.
>>
>> Of course, I'll explore if there's a way to make things less messy. I
>> just realized why I didn't do things util_est way but instead directly
>> clamping on PELT, it's because util_est boosts util_avg and can't work
>> for uclamp_max. I'll keep exploring options.
>>
>>>> [...]
prev parent reply other threads:[~2023-12-05 17:24 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-04 9:04 Hongyan Xia
2023-10-04 9:04 ` [RFC PATCH 1/6] sched/uclamp: Track uclamped util_avg in sched_avg Hongyan Xia
2023-10-31 15:52 ` Dietmar Eggemann
2023-11-09 16:05 ` Hongyan Xia
2023-11-14 12:59 ` Dietmar Eggemann
2023-12-04 16:07 ` Vincent Guittot
2023-12-05 14:24 ` Hongyan Xia
2023-12-05 16:22 ` Vincent Guittot
2023-10-04 9:04 ` [RFC PATCH 2/6] sched/uclamp: Simulate PELT decay in util_avg_uclamp Hongyan Xia
2023-11-01 16:06 ` Dietmar Eggemann
2023-11-09 16:50 ` Hongyan Xia
2023-12-04 16:07 ` Vincent Guittot
2023-12-05 14:47 ` Hongyan Xia
2023-10-04 9:04 ` [RFC PATCH 3/6] sched/fair: Use CFS util_avg_uclamp for utilization and frequency Hongyan Xia
2023-11-01 22:34 ` Dietmar Eggemann
2023-10-04 9:04 ` [RFC PATCH 4/6] sched/fair: Rewrite util_fits_cpu() Hongyan Xia
2023-11-02 17:37 ` Dietmar Eggemann
2023-10-04 9:04 ` [RFC PATCH 5/6] sched/uclamp: Remove all uclamp bucket logic Hongyan Xia
2023-11-03 13:50 ` Dietmar Eggemann
2023-11-03 14:01 ` Hongyan Xia
2023-10-04 9:04 ` [RFC PATCH 6/6] sched/uclamp: Simplify uclamp_eff_value() Hongyan Xia
2023-11-03 14:50 ` Dietmar Eggemann
2023-10-30 18:46 ` [RFC PATCH 0/6] sched: uclamp sum aggregation Dietmar Eggemann
2023-11-03 11:19 ` Hongyan Xia
2023-11-13 9:26 ` Dietmar Eggemann
2023-12-03 0:25 ` Qais Yousef
2023-12-04 1:48 ` Hongyan Xia
2023-12-04 16:12 ` Vincent Guittot
2023-12-05 15:18 ` Hongyan Xia
2023-12-05 16:26 ` Vincent Guittot
2023-12-05 17:23 ` Hongyan Xia [this message]
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=7f0bfaa5-22c3-4ed3-bf34-cb7ad6b4c335@arm.com \
--to=hongyan.xia2@arm.com \
--cc=christian.loehle@arm.com \
--cc=dietmar.eggemann@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lukasz.luba@arm.com \
--cc=mingo@redhat.com \
--cc=morten.rasmussen@arm.com \
--cc=peterz@infradead.org \
--cc=qyousef@layalina.io \
--cc=vincent.guittot@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®