From: tip-bot for Alex Shi <alex.shi@intel.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@kernel.org,
a.p.zijlstra@chello.nl, alex.shi@intel.com, tglx@linutronix.de
Subject: [tip:sched/urgent] sched/numa: Load balance between remote nodes
Date: Wed, 6 Jun 2012 08:53:25 -0700 [thread overview]
Message-ID: <tip-10717dcde10d09f9fcee53a12a4236af1a82b484@git.kernel.org> (raw)
In-Reply-To: <1338965571-9812-1-git-send-email-alex.shi@intel.com>
Commit-ID: 10717dcde10d09f9fcee53a12a4236af1a82b484
Gitweb: http://git.kernel.org/tip/10717dcde10d09f9fcee53a12a4236af1a82b484
Author: Alex Shi <alex.shi@intel.com>
AuthorDate: Wed, 6 Jun 2012 14:52:51 +0800
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 6 Jun 2012 16:52:25 +0200
sched/numa: Load balance between remote nodes
Commit cb83b629b ("sched/numa: Rewrite the CONFIG_NUMA sched
domain support") removed the NODE sched domain and started checking
if the node distance in SLIT table is farther than REMOTE_DISTANCE,
if so, it will lose the load balance chance at exec/fork/wake_affine
points.
But actually, even the node distance is farther than REMOTE_DISTANCE.
Modern CPUs also has QPI like connections, which ensures that memory
access is not too slow between nodes. So the above change in behavior
on NUMA machine causes a performance regression on various benchmarks:
hackbench, tbench, netperf, oltp, etc.
This patch will recover the scheduler behavior to old mode on all my
Intel platforms: NHM EP/EX, WSM EP, SNB EP/EP4S, and thus fixes the
perfromance regressions. (all of them just have 2 kinds distance, 10, 21)
Signed-off-by: Alex Shi <alex.shi@intel.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1338965571-9812-1-git-send-email-alex.shi@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
kernel/sched/core.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index c46958e..6546083 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6321,7 +6321,7 @@ static int sched_domains_curr_level;
static inline int sd_local_flags(int level)
{
- if (sched_domains_numa_distance[level] > REMOTE_DISTANCE)
+ if (sched_domains_numa_distance[level] > RECLAIM_DISTANCE)
return 0;
return SD_BALANCE_EXEC | SD_BALANCE_FORK | SD_WAKE_AFFINE;
prev parent reply other threads:[~2012-06-06 15:53 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-06 6:52 [RFC PATCH] sched/numa: do load balance between remote nodes Alex Shi
2012-06-06 6:52 ` Alex Shi
2012-06-06 6:52 ` Alex Shi
2012-06-06 9:01 ` Peter Zijlstra
2012-06-06 9:01 ` Peter Zijlstra
2012-06-06 9:01 ` Peter Zijlstra
2012-06-07 0:33 ` Alex Shi
2012-06-07 0:33 ` Alex Shi
2012-06-07 0:33 ` Alex Shi
2012-06-06 10:53 ` Sergei Shtylyov
2012-06-06 10:53 ` Sergei Shtylyov
2012-06-06 10:53 ` Sergei Shtylyov
2012-06-06 15:53 ` tip-bot for Alex Shi [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=tip-10717dcde10d09f9fcee53a12a4236af1a82b484@git.kernel.org \
--to=alex.shi@intel.com \
--cc=a.p.zijlstra@chello.nl \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=tglx@linutronix.de \
/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.