[PATCH v6 0/2] Adjust NUMA imbalance for multiple LLCs

Mel Gorman posted 2 patches 4 years, 4 months ago
include/linux/sched/topology.h |  1 +
kernel/sched/fair.c            | 30 ++++++++++---------
kernel/sched/topology.c        | 53 ++++++++++++++++++++++++++++++++++
3 files changed, 71 insertions(+), 13 deletions(-)
[PATCH v6 0/2] Adjust NUMA imbalance for multiple LLCs
Posted by Mel Gorman 4 years, 4 months ago
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

Re: [PATCH v6 0/2] Adjust NUMA imbalance for multiple LLCs
Posted by Peter Zijlstra 4 years, 4 months ago
On Tue, Feb 08, 2022 at 09:43:32AM +0000, Mel Gorman wrote:
> 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(-)

Thanks!