The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Frederic Weisbecker <frederic@kernel.org>
To: "Christoph Lameter (Ampere)" <cl@gentwo.org>
Cc: Valentin Schneider <vschneid@redhat.com>,
	Adam Li <adamli@os.amperecomputing.com>,
	mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de,
	linux-kernel@vger.kernel.org, patches@amperecomputing.com
Subject: Re: [PATCH] sched/nohz: Fix NOHZ imbalance by adding options for ILB CPU
Date: Thu, 4 Sep 2025 15:54:44 +0200	[thread overview]
Message-ID: <aLmaJEU-WwVmVdYI@localhost.localdomain> (raw)
In-Reply-To: <f6869880-1f7c-a39b-dc8e-4c3a84ba51ef@gentwo.org>

Le Wed, Aug 20, 2025 at 10:31:24AM -0700, Christoph Lameter (Ampere) a écrit :
> On Wed, 20 Aug 2025, Valentin Schneider wrote:
> 
> > My first question would be: is NOHZ_FULL really right for your workload?
> 
> Yes performance is improved. AI workloads are like HPC workloads in that
> they need to do compute and then rendezvous for data exchange.

Ok, I was about to say that this is the first known (for me) usecase of
nohz_full that is about performance and doesn't strictly require low-latency
guarantee. But...

> Variations
> in the runtime due to timer ticks cause idle periods where the rendezvous
> cannot be completed because some cpus are delayed.
> 
> The more frequent rendezvous can be performed the better the performance
> numbers will be.

...that is low-latency requirement...for performance :-)

That's an argument _not_ in favour of dynamic balancing such as ILB, even for
this usecase in nohz_full (all the other usecases of nohz_full I know really
want static affinity and no balancing at all).

So I have to ask, what would be wrong with static affinities to these tasks?

> 
> > It's mainly designed to be used with always-running userspace
> tasks, > generally affined to a CPU by the system administrator.
> 
> hohz full has been reworked somewhat since the early days and works in a
> more general way today.

Not sure about that. Although it was not initially intended to, it has
been very single purpose since the early days: ie: run a single task in
userspace without being disturbed.

> > Here AIUI you're relying on the scheduler load balancing to distribute work
> > to the NOHZ_FULL CPUs, so you're going to be penalized a lot by the
> > NOHZ_FULL context switch overheads. What's the point? Wouldn't you have
> > less overhead with just NOHZ_IDLE?
> 
> The benchmarks show a regression of 10-20% if the tick is operational.

Impressive!

> The context switch overhead is negligible since the cpus are doing compute
> and not system calls.

And not many syscalls, right?

Thanks.

-- 
Frederic Weisbecker
SUSE Labs

  parent reply	other threads:[~2025-09-04 13:54 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-19  2:57 [PATCH] sched/nohz: Fix NOHZ imbalance by adding options for ILB CPU Adam Li
2025-08-19 14:00 ` Valentin Schneider
2025-08-20  3:35   ` Adam Li
2025-08-20  8:43     ` Valentin Schneider
2025-08-20 11:05       ` Adam Li
2025-08-20 11:46         ` Valentin Schneider
2025-08-21 11:18           ` Adam Li
2025-08-28 10:56             ` Valentin Schneider
2025-08-28 15:44               ` Christoph Lameter (Ampere)
2025-09-03 12:35                 ` Valentin Schneider
2025-09-03 14:14                   ` Vincent Guittot
2025-09-03 20:33                     ` Christoph Lameter (Ampere)
2025-09-11  8:55                       ` Vincent Guittot
2025-08-20 17:31       ` Christoph Lameter (Ampere)
2025-08-21  9:01         ` Valentin Schneider
2025-09-04 13:54         ` Frederic Weisbecker [this message]
2025-09-04 15:34           ` Christoph Lameter (Ampere)
2025-09-04 16:13             ` Frederic Weisbecker
2025-09-04 16:18               ` Christoph Lameter (Ampere)
2025-09-05 12:16                 ` Frederic Weisbecker
2025-09-05 16:45                   ` Christoph Lameter (Ampere)

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=aLmaJEU-WwVmVdYI@localhost.localdomain \
    --to=frederic@kernel.org \
    --cc=adamli@os.amperecomputing.com \
    --cc=bsegall@google.com \
    --cc=cl@gentwo.org \
    --cc=dietmar.eggemann@arm.com \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=patches@amperecomputing.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --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