linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH] sched/numa: do load balance between remote nodes
@ 2012-06-06  6:52 Alex Shi
  2012-06-06  9:01 ` Peter Zijlstra
  2012-06-06 10:53 ` Sergei Shtylyov
  0 siblings, 2 replies; 4+ messages in thread
From: Alex Shi @ 2012-06-06  6:52 UTC (permalink / raw)
  To: a.p.zijlstra
  Cc: linux-mips, linux-ia64, linux-sh, dhowells, paulus, hpa,
	sparclinux, mingo, sivanich, x86, greg.pearson, chris.mason,
	arjan.van.de.ven, mattst88, pjt, fenghua.yu, seto.hidetoshi,
	cmetcalf, ak, ink, anton, tglx, kamezawa.hiroyu, rth, tony.luck,
	torvalds, linux-kernel, ralf, lethal, linux-alpha, bob.picco,
	akpm, linuxppc-dev, davem

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@intel.com>
---
 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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] sched/numa: do load balance between remote nodes
  2012-06-06  6:52 [RFC PATCH] sched/numa: do load balance between remote nodes Alex Shi
@ 2012-06-06  9:01 ` Peter Zijlstra
  2012-06-07  0:33   ` Alex Shi
  2012-06-06 10:53 ` Sergei Shtylyov
  1 sibling, 1 reply; 4+ messages in thread
From: Peter Zijlstra @ 2012-06-06  9:01 UTC (permalink / raw)
  To: Alex Shi
  Cc: linux-mips, linux-ia64, linux-sh, dhowells, paulus, hpa,
	sparclinux, mingo, sivanich, x86, greg.pearson, chris.mason,
	arjan.van.de.ven, mattst88, pjt, fenghua.yu, seto.hidetoshi,
	cmetcalf, ak, ink, anton, tglx, kamezawa.hiroyu, rth, tony.luck,
	torvalds, linux-kernel, ralf, lethal, linux-alpha, bob.picco,
	akpm, linuxppc-dev, davem

On Wed, 2012-06-06 at 14:52 +0800, Alex Shi wrote:
> -       if (sched_domains_numa_distance[level] > REMOTE_DISTANCE)
> +       if (sched_domains_numa_distance[level] > RECLAIM_DISTANCE)=20

I actually considered this.. I just felt a little uneasy re-purposing
the RECLAIM_DISTANCE for this, but I guess its all the same anyway. Both
mean expensive-away-distance.

So I've taken this.

thanks!

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] sched/numa: do load balance between remote nodes
  2012-06-06  6:52 [RFC PATCH] sched/numa: do load balance between remote nodes Alex Shi
  2012-06-06  9:01 ` Peter Zijlstra
@ 2012-06-06 10:53 ` Sergei Shtylyov
  1 sibling, 0 replies; 4+ messages in thread
From: Sergei Shtylyov @ 2012-06-06 10:53 UTC (permalink / raw)
  To: Alex Shi
  Cc: linux-mips, linux-ia64, linux-sh, dhowells, paulus, hpa,
	sparclinux, mingo, sivanich, x86, greg.pearson, chris.mason,
	arjan.van.de.ven, mattst88, pjt, fenghua.yu, seto.hidetoshi,
	a.p.zijlstra, cmetcalf, ak, ink, anton, tglx, kamezawa.hiroyu,
	rth, tony.luck, torvalds, linux-kernel, ralf, lethal, linux-alpha,
	bob.picco, akpm, linuxppc-dev, davem

Hello.

On 06-06-2012 10:52, Alex Shi wrote:

> commit cb83b629b

    Please also specify that commit's summary in parens.

> 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

    "Is" not needed here.

> 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@intel.com>

WBR, Sergei

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] sched/numa: do load balance between remote nodes
  2012-06-06  9:01 ` Peter Zijlstra
@ 2012-06-07  0:33   ` Alex Shi
  0 siblings, 0 replies; 4+ messages in thread
From: Alex Shi @ 2012-06-07  0:33 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: linux-mips, linux-ia64, linux-sh, dhowells, paulus, hpa,
	sparclinux, mingo, sivanich, x86, greg.pearson, chris.mason,
	arjan.van.de.ven, mattst88, pjt, fenghua.yu, seto.hidetoshi,
	cmetcalf, ak, ink, anton, tglx, kamezawa.hiroyu, rth, tony.luck,
	torvalds, linux-kernel, ralf, lethal, linux-alpha, bob.picco,
	akpm, linuxppc-dev, davem

On 06/06/2012 05:01 PM, Peter Zijlstra wrote:

> On Wed, 2012-06-06 at 14:52 +0800, Alex Shi wrote:
>> -       if (sched_domains_numa_distance[level] > REMOTE_DISTANCE)
>> +       if (sched_domains_numa_distance[level] > RECLAIM_DISTANCE) 
> 
> I actually considered this.. I just felt a little uneasy re-purposing
> the RECLAIM_DISTANCE for this, but I guess its all the same anyway. Both
> mean expensive-away-distance.
> 


I understand you, the BIOS guys don't have a good alignment with us on
this.

> So I've taken this.
> 
> thanks!

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-06-07  0:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-06  6:52 [RFC PATCH] sched/numa: do load balance between remote nodes Alex Shi
2012-06-06  9:01 ` Peter Zijlstra
2012-06-07  0:33   ` Alex Shi
2012-06-06 10:53 ` Sergei Shtylyov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).