|
|
Log in / Subscribe / Register

Adjust NUMA imbalance for multiple LLCs

From:  Mel Gorman <mgorman-AT-techsingularity.net>
To:  Peter Zijlstra <peterz-AT-infradead.org>
Subject:  [PATCH v6 0/2] Adjust NUMA imbalance for multiple LLCs
Date:  Tue, 08 Feb 2022 09:43:32 +0000
Message-ID:  <20220208094334.16379-1-mgorman@techsingularity.net>
Cc:  Ingo Molnar <mingo-AT-kernel.org>, Vincent Guittot <vincent.guittot-AT-linaro.org>, Valentin Schneider <valentin.schneider-AT-arm.com>, Aubrey Li <aubrey.li-AT-linux.intel.com>, Barry Song <song.bao.hua-AT-hisilicon.com>, Mike Galbraith <efault-AT-gmx.de>, Srikar Dronamraju <srikar-AT-linux.vnet.ibm.com>, Gautham Shenoy <gautham.shenoy-AT-amd.com>, K Prateek Nayak <kprateek.nayak-AT-amd.com>, LKML <linux-kernel-AT-vger.kernel.org>, Mel Gorman <mgorman-AT-techsingularity.net>
Archive-link:  Article

Changelog sinve v5
o Fix off-by-one error

Changelog since V4
o Scale imbalance based on the top domain that prefers siblings
o Keep allowed imbalance as 2 up to the point where LLCs can be overloaded

Changelog since V3
o Calculate imb_numa_nr for multiple SD_NUMA domains
o Restore behaviour where communicating pairs remain on the same node

Commit 7d2b5dd0bcc4 ("sched/numa: Allow a floating imbalance between NUMA
nodes") allowed an imbalance between NUMA nodes such that communicating
tasks would not be pulled apart by the load balancer. This works fine when
there is a 1:1 relationship between LLC and node but can be suboptimal
for multiple LLCs if independent tasks prematurely use CPUs sharing cache.

The series addresses two problems -- inconsistent logic when allowing a
NUMA imbalance and sub-optimal performance when there are many LLCs per
NUMA node.

 include/linux/sched/topology.h |  1 +
 kernel/sched/fair.c            | 30 ++++++++++---------
 kernel/sched/topology.c        | 53 ++++++++++++++++++++++++++++++++++
 3 files changed, 71 insertions(+), 13 deletions(-)

-- 
2.31.1



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds