All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman@techsingularity.net>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Valentin Schneider <valentin.schneider@arm.com>,
	K Prateek Nayak <kprateek.nayak@amd.com>,
	Aubrey Li <aubrey.li@linux.intel.com>,
	Ying Huang <ying.huang@intel.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Mel Gorman <mgorman@techsingularity.net>
Subject: [PATCH 2/4] sched/numa: Do not swap tasks between nodes when spare capacity is available
Date: Fri, 20 May 2022 11:35:17 +0100	[thread overview]
Message-ID: <20220520103519.1863-3-mgorman@techsingularity.net> (raw)
In-Reply-To: <20220520103519.1863-1-mgorman@techsingularity.net>

If a destination node has spare capacity but there is an imbalance then
two tasks are selected for swapping. If the tasks have no numa group
or are within the same NUMA group, it's simply shuffling tasks around
without having any impact on the compute imbalance. Instead, it's just
punishing one task to help another.

Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
---
 kernel/sched/fair.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 867806a57119..03b1ad79d47d 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1778,6 +1778,15 @@ static bool task_numa_compare(struct task_numa_env *env,
 	 */
 	cur_ng = rcu_dereference(cur->numa_group);
 	if (cur_ng == p_ng) {
+		/*
+		 * Do not swap within a group or between tasks that have
+		 * no group if there is spare capacity. Swapping does
+		 * not address the load imbalance and helps one task at
+		 * the cost of punishing another.
+		 */
+		if (env->dst_stats.node_type == node_has_spare)
+			goto unlock;
+
 		imp = taskimp + task_weight(cur, env->src_nid, dist) -
 		      task_weight(cur, env->dst_nid, dist);
 		/*
-- 
2.34.1


  parent reply	other threads:[~2022-05-20 10:36 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-20 10:35 [PATCH v2 0/4] Mitigate inconsistent NUMA imbalance behaviour Mel Gorman
2022-05-20 10:35 ` [PATCH 1/4] sched/numa: Initialise numa_migrate_retry Mel Gorman
2022-06-13  8:43   ` [tip: sched/core] " tip-bot2 for Mel Gorman
2022-05-20 10:35 ` Mel Gorman [this message]
2022-06-13  8:43   ` [tip: sched/core] sched/numa: Do not swap tasks between nodes when spare capacity is available tip-bot2 for Mel Gorman
2022-05-20 10:35 ` [PATCH 3/4] sched/numa: Apply imbalance limitations consistently Mel Gorman
2022-05-27  6:21   ` [sched/numa] 5278ba412f: unixbench.score -2.9% regression kernel test robot
2022-05-27  6:21     ` kernel test robot
2022-06-13  8:43   ` [tip: sched/core] sched/numa: Apply imbalance limitations consistently tip-bot2 for Mel Gorman
2022-05-20 10:35 ` [PATCH 4/4] sched/numa: Adjust imb_numa_nr to a better approximation of memory channels Mel Gorman
2022-06-13  8:43   ` [tip: sched/core] " tip-bot2 for Mel Gorman
2022-05-24 16:01 ` [PATCH v2 0/4] Mitigate inconsistent NUMA imbalance behaviour Vincent Guittot
2022-05-25 12:49   ` Mel Gorman
2022-05-31 10:26     ` Vincent Guittot
2022-05-31 14:09       ` Mel Gorman
2022-06-08  9:53 ` K Prateek Nayak
  -- strict thread matches above, loose matches on Subject: below --
2022-05-11 14:30 [PATCH " Mel Gorman
2022-05-11 14:30 ` [PATCH 2/4] sched/numa: Do not swap tasks between nodes when spare capacity is available Mel Gorman

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=20220520103519.1863-3-mgorman@techsingularity.net \
    --to=mgorman@techsingularity.net \
    --cc=aubrey.li@linux.intel.com \
    --cc=kprateek.nayak@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=valentin.schneider@arm.com \
    --cc=vincent.guittot@linaro.org \
    --cc=ying.huang@intel.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 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.