All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/2] Fix NUMA sched domain build errors for GNR and CWF
@ 2025-10-03 19:31 Tim Chen
  2025-10-03 19:31 ` [PATCH v5 1/2] sched: Create architecture specific sched domain distances Tim Chen
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Tim Chen @ 2025-10-03 19:31 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar
  Cc: Tim Chen, Juri Lelli, Dietmar Eggemann, Ben Segall, Mel Gorman,
	Valentin Schneider, Tim Chen, Vincent Guittot, Len Brown,
	linux-kernel, Chen Yu, K Prateek Nayak, Gautham R . Shenoy,
	Zhao Liu, Vinicius Costa Gomes, Arjan Van De Ven

While testing Granite Rapids (GNR) and Clearwater Forest (CWF) systems
in SNC-3 mode, we encountered sched domain build errors in dmesg.
The scheduler domain code did not expect asymmetric node distances
from a local node to multiple nodes in a remote package. As a result,
remote nodes ended up being grouped partially with local nodes with
asymemtric groupings, and creating too many levels in the NUMA sched
domain hierarchy.

To address this, we simplify remote node distances for the purpose of
sched domain construction on GNR and CWF. Specifically, we replace the
individual distances to nodes within the same remote package with their
average distance. This resolves the domain build errors and reduces the
number of NUMA sched domain levels.

The actual SLIT NUMA node distances are still preserved separately, in
case they are needed when building sched domains. NUMA balancing
continues to use the true distances when selecting a closer remote node
for a task’s numa_group.

This version also revises the detection of arch_sched_node_distance()
substitution with a cleaner implementation, thanks to Chen Yu’s
suggestion.  Much appreciation as well to Pratek for reviewing earlier
versions.  Pratek, if this revision looks good to you, please consider
adding your Reviewed-by.

Thanks,
Tim

Changes in v5:
- Reise detection of arch_sched_node_distance() replacement with a
  cleaner implementtion.
- Link to v4: https://lore.kernel.org/lkml/cover.1758234869.git.tim.c.chen@linux.intel.com/ 

Changes in v4:
- Move average node distance computation to x86 specific code
- Put all the changes under CONFIG_NUMA.
- Use __free() to simplify code.
- Allocate separate distance array only if node distances are
  modified.
- Assert that we don't have more than 2 packages for GNR/CWF
  when replacing remote node distances with average remote node
  distance.
- Comments and code style clean ups.
- Link to v3:
  https://lore.kernel.org/lkml/cover.1757614784.git.tim.c.chen@linux.intel.com/

Changes in v3:
- Simplify sched_record_numa_dist() by getting rid of max distance
  computation. 
- minor clean ups.
- Link to v2:
  https://lore.kernel.org/lkml/61a6adbb845c148361101e16737307c8aa7ee362.1757097030.git.tim.c.chen@linux.intel.com/

Changes in v2:
- Allow modification of NUMA distances by architecture to be the
  sched domain NUMA distances for building sched domains to
  simplify NUMA domains.
  Maintain separate NUMA distances for the purpose of building
  sched domains from actual NUMA distances.
- Use average remote node distance as the distance to nodes in remote
  packages for GNR and CWF.
- Remove the original fix for topology_span_sane() that's superseded
  by better fix from Pratek.
  https://lore.kernel.org/lkml/175688671425.1920.13690753997160836570.tip-bot2@tip-bot2/.
- Link to v1: https://lore.kernel.org/lkml/cover.1755893468.git.tim.c.chen@linux.intel.com/


Tim Chen (2):
  sched: Create architecture specific sched domain distances
  sched/topology: Fix sched domain build error for GNR, CWF in SNC-3
    mode

 arch/x86/kernel/smpboot.c      |  70 +++++++++++++++++++++
 include/linux/sched/topology.h |   1 +
 kernel/sched/topology.c        | 108 ++++++++++++++++++++++++++-------
 3 files changed, 157 insertions(+), 22 deletions(-)

-- 
2.32.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-10-06 19:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-03 19:31 [PATCH v5 0/2] Fix NUMA sched domain build errors for GNR and CWF Tim Chen
2025-10-03 19:31 ` [PATCH v5 1/2] sched: Create architecture specific sched domain distances Tim Chen
2025-10-03 19:31 ` [PATCH v5 2/2] sched/topology: Fix sched domain build error for GNR, CWF in SNC-3 mode Tim Chen
2025-10-06 19:34 ` [PATCH v5 0/2] Fix NUMA sched domain build errors for GNR and CWF Peter Zijlstra

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.