From: Christian Loehle <christian.loehle@arm.com>
To: Qais Yousef <qyousef@layalina.io>
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
rafael@kernel.org, peterz@infradead.org, pierre.gondois@arm.com,
qperret@google.com, sven@svenpeter.dev
Subject: Re: [PATCH 0/1] sched: Ignore overutilized by lone task on max-cap CPU
Date: Thu, 15 Jan 2026 11:17:21 +0000 [thread overview]
Message-ID: <8e230c6d-ddd7-4385-865e-257168dc0057@arm.com> (raw)
In-Reply-To: <20260113131134.n4ixed2awnikgmeq@airbuntu>
On 1/13/26 13:11, Qais Yousef wrote:
> On 12/30/25 09:30, Christian Loehle wrote:
>> I'm trying to deliver on my overdue promise of redefining overutilized state.
>> My investigation basically lead to redefinition of overutilized state
>> bringing very little hard improvements, while it comes with at least
>> some risk of worsening platforms and workload combinations I might've
>> overlooked, therefore I only concentrate on one, the least
>> controversial, for now.
>
> What are the controversial bits?
>
> This is a step forward, but not sure it is in the right direction. The concept
> of a *cpu* being overutilized === rd is overutilized no longer makes sense
> since misfit was decoupled from this logic which was the sole reason to
> require this check at CPU level. Overutilized state is, rightly, set at the
> rootdomain level. And the check makes sense to be done at that level too by
> traversing the perf domains and seeing if we are in a state that requires
> moving tasks around. Which should be done in update_{sg,sd}_lb_stats() logic
> only.
>
> I guess the difficult question (which might be what you're referring to as
> controversial), is at what point we can no longer pack (use EAS) and must
> distribute tasks around?
And that is precisely the 'controversial bits', I didn't want to touch them
with this patch specifically.
A more holistic redefinition of OU is still on the table, but it needs to
a) Still fulfill the requirements we want from it (guarantee of accurate PELT
values because compute capacity was 'always' provided, switching to throughput
maximization when needed).
b) Provide sufficient testing to convince us of not regressing anything majorly
on the quite diverse EAS platforms we have today.
I think $SUBJECT does a) and b) well, but of course it's for improving a
specific set of systems and doesn't address the issues with OU that have been
named in the past.
>
> I think this question is limited by what the lb can do today. With push lb,
> I believe the current global lb is likely to be unnecessary in small systems
> (single LLC) since it can shuffle things around immediately to handle misfit
> and overload.
>
> On top of that, what can the existing global lb do? I am not sure to be honest.
> The system has to have a number of long running tasks > num_cpus for it to be
> useful. But given util signal will lose its meaning under these circumstances,
> I am not sure the global lb can do a better job than push lb trying to move
> these tasks around. But it could do a more comprehensive job in one go? I'll
> defer to Vincent, he probably more able to answer this from the top of his
> head. But the answer to this question is the key to how we want to define this
> *system* is overutilized state.
>
> Assuming this is on top of push lb, I believe something like below which will
> trigger overutilized only if all cpus are overutilized (ie system is nearly
> maxed out (has 20% or less headroom)) is a good starting point at least.
It's an approach, but it needs a lot of data to convince everyone that
push lb + much more liberal OU state outperforms current global LB OU.
Given this is not really about defining OU in a final state, any comments from
you and Vincent on $SUBJECT and the problem it's addressing would be
much appreciated!
> [snip]
next prev parent reply other threads:[~2026-01-15 11:17 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-30 9:30 Christian Loehle
2025-12-30 9:30 ` [PATCH 1/1] sched/fair: Ignore OU for " Christian Loehle
2026-01-09 17:12 ` Pierre Gondois
2026-01-09 17:12 ` [PATCH 0/1] sched: Ignore overutilized by " Pierre Gondois
2026-01-15 14:13 ` Christian Loehle
2026-01-13 13:11 ` Qais Yousef
2026-01-15 11:17 ` Christian Loehle [this message]
2026-02-06 17:23 ` Qais Yousef
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=8e230c6d-ddd7-4385-865e-257168dc0057@arm.com \
--to=christian.loehle@arm.com \
--cc=dietmar.eggemann@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=pierre.gondois@arm.com \
--cc=qperret@google.com \
--cc=qyousef@layalina.io \
--cc=rafael@kernel.org \
--cc=sven@svenpeter.dev \
--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®