- To: a.p.zijlstra@xxxxxxxxx
- Subject: [RFC PATCH] sched/numa: do load balance between remote nodes
- From: Alex Shi <alex.shi@xxxxxxxxx>
- Date: Wed, 6 Jun 2012 14:52:51 +0800
- Cc: anton@xxxxxxxxx, benh@xxxxxxxxxxxxxxxxxxx, cmetcalf@xxxxxxxxxx, dhowells@xxxxxxxxxx, davem@xxxxxxxxxxxxx, fenghua.yu@xxxxxxxxx, hpa@xxxxxxxxx, ink@xxxxxxxxxxxxxxxxxxxx, linux-alpha@xxxxxxxxxxxxxxx, linux-ia64@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-mips@xxxxxxxxxxxxxx, linuxppc-dev@xxxxxxxxxxxxxxxx, linux-sh@xxxxxxxxxxxxxxx, mattst88@xxxxxxxxx, paulus@xxxxxxxxx, lethal@xxxxxxxxxxxx, ralf@xxxxxxxxxxxxxx, rth@xxxxxxxxxxx, sparclinux@xxxxxxxxxxxxxxx, tony.luck@xxxxxxxxx, x86@xxxxxxxxxx, sivanich@xxxxxxx, greg.pearson@xxxxxx, kamezawa.hiroyu@xxxxxxxxxxxxxx, bob.picco@xxxxxxxxxx, chris.mason@xxxxxxxxxx, torvalds@xxxxxxxxxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, mingo@xxxxxxxxxx, pjt@xxxxxxxxxx, tglx@xxxxxxxxxxxxx, seto.hidetoshi@xxxxxxxxxxxxxx, ak@xxxxxxxxxxxxxxx, arjan.van.de.ven@xxxxxxxxx
commit cb83b629b remove the NODE sched domain and check 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, that make memory access is
not too slow between nodes. So above losing on NUMA machine make a
huge performance regression on benchmark: hackbench, tbench, netperf
and 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 so remove the
perfromance regressions. (all of them just has 2 kinds distance, 10 21)
Signed-off-by: Alex Shi <alex.shi@xxxxxxxxx>
---
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 39eb601..b2ee41a 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6286,7 +6286,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;
--
1.7.5.4
--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Netdev]
[Linux Wireless]
[Kernel Newbies]
[Security]
[Linux for Hams]
[Netfilter]
[Bugtraq]
[Photo]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux RAID]
[Linux Admin]
[Samba]
[Video 4 Linux]
[Linux Resources]