mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Rik van Riel <riel@surriel.com>
To: Usama Arif <usama.arif@linux.dev>,
	peterz@infradead.org, mingo@redhat.com,
		vincent.guittot@linaro.org, kprateek.nayak@amd.com,
	arighi@nvidia.com, 	juri.lelli@redhat.com,
	dietmar.eggemann@arm.com, rostedt@goodmis.org,
		bsegall@google.com, mgorman@suse.de, vschneid@redhat.com,
	samuelcrossley@gmail.com,  linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, kas@kernel.org
Cc: Arnav Aghav <aghav@meta.com>
Subject: Re: [PATCH] Revert "sched/fair: Add SIS_UTIL support to select_idle_capacity()"
Date: Fri, 13 Nov 2026 14:31:45 -0500	[thread overview]
Message-ID: <eba9d3df71f3f37bf7a318854a1ab6bf1cfb1981.camel@surriel.com> (raw)
In-Reply-To: <20261113153157.2495664-1-usama.arif@linux.dev>

On Fri, 2026-11-13 at 07:31 -0800, Usama Arif wrote:
> 
> On a 72-CPU NVIDIA grace arm64 server, small reported capacity
> differences
> (1013-1024) within the single LLC activate asymmetric selection. Both
> the reference and affected kernels were observed with a zero scan
> hint. The reference kernel ignored it and still searched the domain.
> A latency-sensitive, wakeup-heavy production workload saw its
> reported
> minute p50 latencies average 129 ms on the reference kernel and 223
> ms
> on the affected kernel.
> 
> Disabling SIS_UTIL reduced the aggregate involuntary context switch
> rate of worker main threads from 71.6k/s to 13.3k/s; re-enabling it
> raised the rate to 73.7k/s. 

Afaik, the asymmetrical selection is supposed
to solve a very specific problem: when a task
requires X amount of CPU capacity to run, we
try to avoid scheduling it on a CPU that has
only a fraction of X available.

This creates the issue that a task that appears
to "need" exactly X, because it's been running
on a CPU with full available capacity, ends up
not being scheduled at all when the available
idle core has X-3% available capacity, because
that CPU happens to spend 3% of its time handling
interrupts, or running something else.

In that situation, it will be better to run the
task on the CPU with 97% capacity right now,
than to not run the task until a CPU frees up
later.

Things like SMT and power-driven hardware
scaling complicate the matter further, because
we simply cannot see the full amount of capacity 
that is available on each CPU.

That makes me wonder if we should simply accept
any CPU that's "close enough to X" when dealing
with asymmetrical placement.

Say, anything that's above 3/4 of the capacity
of X would be considered good enough to run the task.

That still prevents us from placing a CPU intensive
task on a little core in a big.LITTLE system, or
from placing a task on a CPU that spends 80% of its
time handling interrupts, but it will allow a task
to run right now, when the capacity imbalance is small.

Does that make sense, or am I forgetting something
important?

-- 
All Rights Reversed.

      parent reply	other threads:[~2026-11-13 19:32 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-13 15:31 Usama Arif
2026-11-13 17:28 ` Andrea Righi
2026-11-13 18:26   ` Usama Arif
2026-11-13 19:31 ` Rik van Riel [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=eba9d3df71f3f37bf7a318854a1ab6bf1cfb1981.camel@surriel.com \
    --to=riel@surriel.com \
    --cc=aghav@meta.com \
    --cc=arighi@nvidia.com \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=juri.lelli@redhat.com \
    --cc=kas@kernel.org \
    --cc=kprateek.nayak@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=samuelcrossley@gmail.com \
    --cc=stable@vger.kernel.org \
    --cc=usama.arif@linux.dev \
    --cc=vincent.guittot@linaro.org \
    --cc=vschneid@redhat.com \
    /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®