mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jianyong Wu <wujianyong@hygon.cn>
To: Chen Yu <yu.c.chen@intel.com>
Cc: "mingo@redhat.com" <mingo@redhat.com>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"juri.lelli@redhat.com" <juri.lelli@redhat.com>,
	"vincent.guittot@linaro.org" <vincent.guittot@linaro.org>,
	"tim.c.chen@linux.intel.com" <tim.c.chen@linux.intel.com>,
	"dietmar.eggemann@arm.com" <dietmar.eggemann@arm.com>,
	"rostedt@goodmis.org" <rostedt@goodmis.org>,
	"bsegall@google.com" <bsegall@google.com>,
	"mgorman@suse.de" <mgorman@suse.de>,
	"vschneid@redhat.com" <vschneid@redhat.com>,
	"kprateek.nayak@amd.com" <kprateek.nayak@amd.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jianyong.wu@outlook.com" <jianyong.wu@outlook.com>,
	Yibin Liu <liuyibin@hygon.cn>, Yuan Zhong <zhongyuan@hygon.cn>
Subject: RE: [PATCH] sched/cache: Fix group_llc_balance being unreachable above the first NUMA level
Date: Thu, 5 Nov 2026 04:50:34 +0000	[thread overview]
Message-ID: <dd193a850d164b02889fbcfafc556623@hygon.cn> (raw)
In-Reply-To: <auvyMJU02aAFRB6P@chenyu-dev>

Hi Chenyu,

> -----Original Message-----
> From: Chen Yu <yu.c.chen@intel.com>
> Sent: Thursday, November 5, 2026 11:04 AM
> To: Jianyong Wu <wujianyong@hygon.cn>
> Cc: mingo@redhat.com; peterz@infradead.org; juri.lelli@redhat.com;
> vincent.guittot@linaro.org; tim.c.chen@linux.intel.com;
> dietmar.eggemann@arm.com; rostedt@goodmis.org; bsegall@google.com;
> mgorman@suse.de; vschneid@redhat.com; kprateek.nayak@amd.com;
> linux-kernel@vger.kernel.org; jianyong.wu@outlook.com; Yibin Liu
> <liuyibin@hygon.cn>; Yuan Zhong <zhongyuan@hygon.cn>
> Subject: Re: [PATCH] sched/cache: Fix group_llc_balance being unreachable
> above the first NUMA level
> 
> Hi Jianyong,
> 
> On Wed, Nov 04, 2026 at 10:13:13PM +0800, Jianyong Wu wrote:
> > sched_balance_find_src_group() only considers group_llc_balance when
> > sds.prefer_sibling is set:
> >
> > 	if (sds.prefer_sibling && local->group_type == group_has_spare &&
> > 	    (busiest->group_type == group_llc_balance ||
> > 	     sibling_imbalance(env, &sds, busiest, local) > 1))
> > 		goto force_balance;
> >
> > sds.prefer_sibling mirrors SD_PREFER_SIBLING of the busiest group's
> child
> > sched domain, and sd_init() clears that flag on every SD_NUMA domain.
> > So on any domain whose child is itself a NUMA domain, i.e. on systems
> > with more than one NUMA level such as multiple nodes per socket,
> groups
> > tagged with group_llc_balance by llc_balance() can never take the
> > force_balance path, and the group_llc_balance test there is dead code.
> >
> > Such a group falls into the !group_overloaded branch below and in the
> > common case ends up in out_balanced, so a task that was placed
> beyond
> > the first NUMA level is never pulled into its preferred LLC.
> >
> > On a 2-socket Hygon system (8 nodes, 32 LLCs, 4 cores per LLC), with
> > "spin 3"/"spin 4" (3/4 busy threads of one process), all threads were
> > in one LLC in only 41/140 and 0/142 samples; every failing case had a
> > straggler on the other socket. With this patch: 195/196 and 180/196.
> >
> > Only require sds.prefer_sibling for the sibling_imbalance() case, which
> > is what it was originally introduced for.
> >
> > Fixes: f38cc2f0d8a3 ("sched/cache: Prioritize tasks preferring destination
> LLC during balancing")
> 
> This patch looks reasonable. Is this an enhancement rather than a fix?
> Before this patch,
> NUMA node task aggregation is disabled and task aggregation across SNC
> nodes (Intel) or
> level1 Nodes (AMD, Hygon with NPS2/3...) is enabled. After this patch,
> both the NUMA level and the
> SNC level enable task aggregation.

Right, it enables aggregation at the NUMA level too, so it can be seen as an
enhancement. I'll drop the "Fixes:" tag.

> Maybe some benchmark results in the
> next version would
> be helpful to indicate that no regression is found while there is benefit on
> multi-node
> domain systems (NUMA balancing enabled/disabled, etc.).
> 

Sure, I'll run benchmarks with NUMA balancing on and off and include the
numbers in v2.

Thanks
Jianyong


      reply	other threads:[~2026-11-05  4:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-04 14:13 Jianyong Wu
2026-11-04 19:02 ` Tim Chen
2026-11-05  2:48   ` Jianyong Wu
2026-11-05  3:04 ` Chen Yu
2026-11-05  4:50   ` Jianyong Wu [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=dd193a850d164b02889fbcfafc556623@hygon.cn \
    --to=wujianyong@hygon.cn \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=jianyong.wu@outlook.com \
    --cc=juri.lelli@redhat.com \
    --cc=kprateek.nayak@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liuyibin@hygon.cn \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tim.c.chen@linux.intel.com \
    --cc=vincent.guittot@linaro.org \
    --cc=vschneid@redhat.com \
    --cc=yu.c.chen@intel.com \
    --cc=zhongyuan@hygon.cn \
    /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®