All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] ppc64 scheduler fixes
@ 2011-07-25  2:33 Anton Blanchard
  2011-07-25  2:33   ` Anton Blanchard
                   ` (5 more replies)
  0 siblings, 6 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-07-25  2:33 UTC (permalink / raw)
  To: mingo, peterz, benh; +Cc: linuxppc-dev, linux-kernel

Here are a set of ppc64 scheduler fixes that help with some
multi node performance issues.


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

* [PATCH 1/5] powerpc/numa: Enable SD_WAKE_AFFINE in node definition
  2011-07-25  2:33 [PATCH 0/5] ppc64 scheduler fixes Anton Blanchard
@ 2011-07-25  2:33   ` Anton Blanchard
  2011-07-25  2:33   ` Anton Blanchard
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-07-25  2:33 UTC (permalink / raw)
  To: mingo, peterz, benh
  Cc: linuxppc-dev, linux-kernel, tony.luck, fenghua.yu, ralf, lethal,
	davem, cmetcalf

[-- Attachment #1: powerpc_numa_wake_affine --]
[-- Type: text/plain, Size: 1349 bytes --]

When chasing a performance issue on ppc64, I noticed tasks
communicating via a pipe would often end up on different nodes.

It turns out SD_WAKE_AFFINE is not set in our node defition. Commit
9fcd18c9e63e (sched: re-tune balancing) enabled SD_WAKE_AFFINE
in the node definition for x86 and we need a similar change for
ppc64.

I used lmbench lat_ctx and perf bench pipe to verify this fix. Each
benchmark was run 10 times and the average taken.


lmbench lat_ctx:

before:  66565 ops/sec
after:  204700 ops/sec

3.1x faster


perf bench pipe:

before: 5.6570 usecs
after:  1.3470 usecs

4.2x faster


Signed-off-by: Anton Blanchard <anton@samba.org>
---

Cc-ing arch maintainers who might need to look at their SD_NODE_INIT
definitions

Index: linux-2.6-work/arch/powerpc/include/asm/topology.h
===================================================================
--- linux-2.6-work.orig/arch/powerpc/include/asm/topology.h	2011-07-18 16:24:55.639949552 +1000
+++ linux-2.6-work/arch/powerpc/include/asm/topology.h	2011-07-18 16:25:02.630074557 +1000
@@ -73,7 +73,7 @@ static inline int pcibus_to_node(struct
 				| 1*SD_BALANCE_EXEC			\
 				| 1*SD_BALANCE_FORK			\
 				| 0*SD_BALANCE_WAKE			\
-				| 0*SD_WAKE_AFFINE			\
+				| 1*SD_WAKE_AFFINE			\
 				| 0*SD_PREFER_LOCAL			\
 				| 0*SD_SHARE_CPUPOWER			\
 				| 0*SD_POWERSAVINGS_BALANCE		\



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

* [PATCH 1/5] powerpc/numa: Enable SD_WAKE_AFFINE in node definition
@ 2011-07-25  2:33   ` Anton Blanchard
  0 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-07-25  2:33 UTC (permalink / raw)
  To: mingo, peterz, benh
  Cc: fenghua.yu, tony.luck, linux-kernel, ralf, lethal, cmetcalf,
	linuxppc-dev, davem

When chasing a performance issue on ppc64, I noticed tasks
communicating via a pipe would often end up on different nodes.

It turns out SD_WAKE_AFFINE is not set in our node defition. Commit
9fcd18c9e63e (sched: re-tune balancing) enabled SD_WAKE_AFFINE
in the node definition for x86 and we need a similar change for
ppc64.

I used lmbench lat_ctx and perf bench pipe to verify this fix. Each
benchmark was run 10 times and the average taken.


lmbench lat_ctx:

before:  66565 ops/sec
after:  204700 ops/sec

3.1x faster


perf bench pipe:

before: 5.6570 usecs
after:  1.3470 usecs

4.2x faster


Signed-off-by: Anton Blanchard <anton@samba.org>
---

Cc-ing arch maintainers who might need to look at their SD_NODE_INIT
definitions

Index: linux-2.6-work/arch/powerpc/include/asm/topology.h
===================================================================
--- linux-2.6-work.orig/arch/powerpc/include/asm/topology.h	2011-07-18 16:24:55.639949552 +1000
+++ linux-2.6-work/arch/powerpc/include/asm/topology.h	2011-07-18 16:25:02.630074557 +1000
@@ -73,7 +73,7 @@ static inline int pcibus_to_node(struct
 				| 1*SD_BALANCE_EXEC			\
 				| 1*SD_BALANCE_FORK			\
 				| 0*SD_BALANCE_WAKE			\
-				| 0*SD_WAKE_AFFINE			\
+				| 1*SD_WAKE_AFFINE			\
 				| 0*SD_PREFER_LOCAL			\
 				| 0*SD_SHARE_CPUPOWER			\
 				| 0*SD_POWERSAVINGS_BALANCE		\

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

* [PATCH 2/5] sched: Allow SD_NODES_PER_DOMAIN to be overridden
  2011-07-25  2:33 [PATCH 0/5] ppc64 scheduler fixes Anton Blanchard
@ 2011-07-25  2:33   ` Anton Blanchard
  2011-07-25  2:33   ` Anton Blanchard
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-07-25  2:33 UTC (permalink / raw)
  To: mingo, peterz, benh; +Cc: linuxppc-dev, linux-kernel

[-- Attachment #1: move_SD_NODES_PER_DOMAIN --]
[-- Type: text/plain, Size: 1156 bytes --]

We want to override the default value of SD_NODES_PER_DOMAIN on ppc64,
so move it into linux/topology.h.

Signed-off-by: Anton Blanchard <anton@samba.org> 
---

Index: linux-2.6-work/include/linux/topology.h
===================================================================
--- linux-2.6-work.orig/include/linux/topology.h	2011-07-25 11:20:02.588717796 +1000
+++ linux-2.6-work/include/linux/topology.h	2011-07-25 11:26:50.616468376 +1000
@@ -201,6 +201,10 @@ int arch_update_cpu_topology(void);
 	.balance_interval	= 64,					\
 }
 
+#ifndef SD_NODES_PER_DOMAIN
+#define SD_NODES_PER_DOMAIN 16
+#endif
+
 #ifdef CONFIG_SCHED_BOOK
 #ifndef SD_BOOK_INIT
 #error Please define an appropriate SD_BOOK_INIT in include/asm/topology.h!!!
Index: linux-2.6-work/kernel/sched.c
===================================================================
--- linux-2.6-work.orig/kernel/sched.c	2011-07-25 11:20:09.538850173 +1000
+++ linux-2.6-work/kernel/sched.c	2011-07-25 11:26:50.626468565 +1000
@@ -6938,8 +6938,6 @@ static int __init isolated_cpu_setup(cha
 
 __setup("isolcpus=", isolated_cpu_setup);
 
-#define SD_NODES_PER_DOMAIN 16
-
 #ifdef CONFIG_NUMA
 
 /**



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

* [PATCH 2/5] sched: Allow SD_NODES_PER_DOMAIN to be overridden
@ 2011-07-25  2:33   ` Anton Blanchard
  0 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-07-25  2:33 UTC (permalink / raw)
  To: mingo, peterz, benh; +Cc: linuxppc-dev, linux-kernel

We want to override the default value of SD_NODES_PER_DOMAIN on ppc64,
so move it into linux/topology.h.

Signed-off-by: Anton Blanchard <anton@samba.org> 
---

Index: linux-2.6-work/include/linux/topology.h
===================================================================
--- linux-2.6-work.orig/include/linux/topology.h	2011-07-25 11:20:02.588717796 +1000
+++ linux-2.6-work/include/linux/topology.h	2011-07-25 11:26:50.616468376 +1000
@@ -201,6 +201,10 @@ int arch_update_cpu_topology(void);
 	.balance_interval	= 64,					\
 }
 
+#ifndef SD_NODES_PER_DOMAIN
+#define SD_NODES_PER_DOMAIN 16
+#endif
+
 #ifdef CONFIG_SCHED_BOOK
 #ifndef SD_BOOK_INIT
 #error Please define an appropriate SD_BOOK_INIT in include/asm/topology.h!!!
Index: linux-2.6-work/kernel/sched.c
===================================================================
--- linux-2.6-work.orig/kernel/sched.c	2011-07-25 11:20:09.538850173 +1000
+++ linux-2.6-work/kernel/sched.c	2011-07-25 11:26:50.626468565 +1000
@@ -6938,8 +6938,6 @@ static int __init isolated_cpu_setup(cha
 
 __setup("isolcpus=", isolated_cpu_setup);
 
-#define SD_NODES_PER_DOMAIN 16
-
 #ifdef CONFIG_NUMA
 
 /**

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

* [PATCH 3/5] powerpc/numa: Increase SD_NODES_PER_DOMAIN to 32.
  2011-07-25  2:33 [PATCH 0/5] ppc64 scheduler fixes Anton Blanchard
@ 2011-07-25  2:33   ` Anton Blanchard
  2011-07-25  2:33   ` Anton Blanchard
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-07-25  2:33 UTC (permalink / raw)
  To: mingo, peterz, benh; +Cc: linuxppc-dev, linux-kernel

[-- Attachment #1: override_SD_NODES_PER_DOMAIN --]
[-- Type: text/plain, Size: 938 bytes --]

The largest POWER7 boxes have 32 nodes. SD_NODES_PER_DOMAIN groups
nodes into chunks of 16 and adds a global balancing domain
(SD_ALLNODES) above it.

If we bump SD_NODES_PER_DOMAIN to 32, then we avoid this extra
level of balancing on our largest boxes.

Signed-off-by: Anton Blanchard <anton@samba.org> 
---

Index: linux-2.6-work/arch/powerpc/include/asm/topology.h
===================================================================
--- linux-2.6-work.orig/arch/powerpc/include/asm/topology.h	2011-07-25 11:43:24.954093179 +1000
+++ linux-2.6-work/arch/powerpc/include/asm/topology.h	2011-07-25 11:43:31.274205122 +1000
@@ -28,6 +28,12 @@ struct device_node;
  */
 #define RECLAIM_DISTANCE 10
 
+/*
+ * Avoid creating an extra level of balancing (SD_ALLNODES) on the largest
+ * POWER7 boxes which have a maximum of 32 nodes.
+ */
+#define SD_NODES_PER_DOMAIN 32
+
 #include <asm/mmzone.h>
 
 static inline int cpu_to_node(int cpu)



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

* [PATCH 3/5] powerpc/numa: Increase SD_NODES_PER_DOMAIN to 32.
@ 2011-07-25  2:33   ` Anton Blanchard
  0 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-07-25  2:33 UTC (permalink / raw)
  To: mingo, peterz, benh; +Cc: linuxppc-dev, linux-kernel

The largest POWER7 boxes have 32 nodes. SD_NODES_PER_DOMAIN groups
nodes into chunks of 16 and adds a global balancing domain
(SD_ALLNODES) above it.

If we bump SD_NODES_PER_DOMAIN to 32, then we avoid this extra
level of balancing on our largest boxes.

Signed-off-by: Anton Blanchard <anton@samba.org> 
---

Index: linux-2.6-work/arch/powerpc/include/asm/topology.h
===================================================================
--- linux-2.6-work.orig/arch/powerpc/include/asm/topology.h	2011-07-25 11:43:24.954093179 +1000
+++ linux-2.6-work/arch/powerpc/include/asm/topology.h	2011-07-25 11:43:31.274205122 +1000
@@ -28,6 +28,12 @@ struct device_node;
  */
 #define RECLAIM_DISTANCE 10
 
+/*
+ * Avoid creating an extra level of balancing (SD_ALLNODES) on the largest
+ * POWER7 boxes which have a maximum of 32 nodes.
+ */
+#define SD_NODES_PER_DOMAIN 32
+
 #include <asm/mmzone.h>
 
 static inline int cpu_to_node(int cpu)

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

* [PATCH 4/5] powerpc/numa: Disable NEWIDLE balancing at node level
  2011-07-25  2:33 [PATCH 0/5] ppc64 scheduler fixes Anton Blanchard
@ 2011-07-25  2:33   ` Anton Blanchard
  2011-07-25  2:33   ` Anton Blanchard
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-07-25  2:33 UTC (permalink / raw)
  To: mingo, peterz, benh; +Cc: linuxppc-dev, linux-kernel

[-- Attachment #1: nodes_no_newidle --]
[-- Type: text/plain, Size: 989 bytes --]

On big POWER7 boxes we see large amounts of CPU time in system
processes like workqueue and watchdog kernel threads.

We currently rebalance the entire machine each time a task goes
idle and this is very expensive on large machines. Disable newidle
balancing at the node level and rely on the scheduler tick to
rebalance across nodes.

Signed-off-by: Anton Blanchard <anton@samba.org>
---

Index: linux-2.6-work/arch/powerpc/include/asm/topology.h
===================================================================
--- linux-2.6-work.orig/arch/powerpc/include/asm/topology.h	2011-07-25 12:14:25.448671947 +1000
+++ linux-2.6-work/arch/powerpc/include/asm/topology.h	2011-07-25 12:14:26.568692651 +1000
@@ -75,7 +75,7 @@ static inline int pcibus_to_node(struct
 	.forkexec_idx		= 0,					\
 									\
 	.flags			= 1*SD_LOAD_BALANCE			\
-				| 1*SD_BALANCE_NEWIDLE			\
+				| 0*SD_BALANCE_NEWIDLE			\
 				| 1*SD_BALANCE_EXEC			\
 				| 1*SD_BALANCE_FORK			\
 				| 0*SD_BALANCE_WAKE			\



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

* [PATCH 4/5] powerpc/numa: Disable NEWIDLE balancing at node level
@ 2011-07-25  2:33   ` Anton Blanchard
  0 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-07-25  2:33 UTC (permalink / raw)
  To: mingo, peterz, benh; +Cc: linuxppc-dev, linux-kernel

On big POWER7 boxes we see large amounts of CPU time in system
processes like workqueue and watchdog kernel threads.

We currently rebalance the entire machine each time a task goes
idle and this is very expensive on large machines. Disable newidle
balancing at the node level and rely on the scheduler tick to
rebalance across nodes.

Signed-off-by: Anton Blanchard <anton@samba.org>
---

Index: linux-2.6-work/arch/powerpc/include/asm/topology.h
===================================================================
--- linux-2.6-work.orig/arch/powerpc/include/asm/topology.h	2011-07-25 12:14:25.448671947 +1000
+++ linux-2.6-work/arch/powerpc/include/asm/topology.h	2011-07-25 12:14:26.568692651 +1000
@@ -75,7 +75,7 @@ static inline int pcibus_to_node(struct
 	.forkexec_idx		= 0,					\
 									\
 	.flags			= 1*SD_LOAD_BALANCE			\
-				| 1*SD_BALANCE_NEWIDLE			\
+				| 0*SD_BALANCE_NEWIDLE			\
 				| 1*SD_BALANCE_EXEC			\
 				| 1*SD_BALANCE_FORK			\
 				| 0*SD_BALANCE_WAKE			\

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

* [PATCH 5/5] powerpc/numa: Remove duplicate RECLAIM_DISTANCE definition
  2011-07-25  2:33 [PATCH 0/5] ppc64 scheduler fixes Anton Blanchard
@ 2011-07-25  2:33   ` Anton Blanchard
  2011-07-25  2:33   ` Anton Blanchard
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-07-25  2:33 UTC (permalink / raw)
  To: mingo, peterz, benh; +Cc: linuxppc-dev, linux-kernel

[-- Attachment #1: move_duplicate_distance --]
[-- Type: text/plain, Size: 1080 bytes --]

We have two identical definitions of RECLAIM_DISTANCE, looks like
the patch got applied twice. Remove one.

Signed-off-by: Anton Blanchard <anton@samba.org> 
---

Index: linux-2.6-work/arch/powerpc/include/asm/topology.h
===================================================================
--- linux-2.6-work.orig/arch/powerpc/include/asm/topology.h	2011-07-25 12:15:33.059921510 +1000
+++ linux-2.6-work/arch/powerpc/include/asm/topology.h	2011-07-25 12:15:46.750174446 +1000
@@ -19,16 +19,6 @@ struct device_node;
 #define RECLAIM_DISTANCE 10
 
 /*
- * Before going off node we want the VM to try and reclaim from the local
- * node. It does this if the remote distance is larger than RECLAIM_DISTANCE.
- * With the default REMOTE_DISTANCE of 20 and the default RECLAIM_DISTANCE of
- * 20, we never reclaim and go off node straight away.
- *
- * To fix this we choose a smaller value of RECLAIM_DISTANCE.
- */
-#define RECLAIM_DISTANCE 10
-
-/*
  * Avoid creating an extra level of balancing (SD_ALLNODES) on the largest
  * POWER7 boxes which have a maximum of 32 nodes.
  */



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

* [PATCH 5/5] powerpc/numa: Remove duplicate RECLAIM_DISTANCE definition
@ 2011-07-25  2:33   ` Anton Blanchard
  0 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-07-25  2:33 UTC (permalink / raw)
  To: mingo, peterz, benh; +Cc: linuxppc-dev, linux-kernel

We have two identical definitions of RECLAIM_DISTANCE, looks like
the patch got applied twice. Remove one.

Signed-off-by: Anton Blanchard <anton@samba.org> 
---

Index: linux-2.6-work/arch/powerpc/include/asm/topology.h
===================================================================
--- linux-2.6-work.orig/arch/powerpc/include/asm/topology.h	2011-07-25 12:15:33.059921510 +1000
+++ linux-2.6-work/arch/powerpc/include/asm/topology.h	2011-07-25 12:15:46.750174446 +1000
@@ -19,16 +19,6 @@ struct device_node;
 #define RECLAIM_DISTANCE 10
 
 /*
- * Before going off node we want the VM to try and reclaim from the local
- * node. It does this if the remote distance is larger than RECLAIM_DISTANCE.
- * With the default REMOTE_DISTANCE of 20 and the default RECLAIM_DISTANCE of
- * 20, we never reclaim and go off node straight away.
- *
- * To fix this we choose a smaller value of RECLAIM_DISTANCE.
- */
-#define RECLAIM_DISTANCE 10
-
-/*
  * Avoid creating an extra level of balancing (SD_ALLNODES) on the largest
  * POWER7 boxes which have a maximum of 32 nodes.
  */

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

* Re: [PATCH 0/5] ppc64 scheduler fixes
  2011-07-25  2:33 [PATCH 0/5] ppc64 scheduler fixes Anton Blanchard
@ 2011-07-25 12:41   ` Peter Zijlstra
  2011-07-25  2:33   ` Anton Blanchard
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 18+ messages in thread
From: Peter Zijlstra @ 2011-07-25 12:41 UTC (permalink / raw)
  To: Anton Blanchard; +Cc: mingo, benh, linuxppc-dev, linux-kernel

On Mon, 2011-07-25 at 12:33 +1000, Anton Blanchard wrote:
> Here are a set of ppc64 scheduler fixes that help with some
> multi node performance issues.

They look fine to me. I'll probably ping you when I'll rip out all that
SD_NODES_PER_DOMAIN crap for good, but until then I'm fine with you
fiddling it for ppc64.

Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>

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

* Re: [PATCH 0/5] ppc64 scheduler fixes
@ 2011-07-25 12:41   ` Peter Zijlstra
  0 siblings, 0 replies; 18+ messages in thread
From: Peter Zijlstra @ 2011-07-25 12:41 UTC (permalink / raw)
  To: Anton Blanchard; +Cc: mingo, linuxppc-dev, linux-kernel

On Mon, 2011-07-25 at 12:33 +1000, Anton Blanchard wrote:
> Here are a set of ppc64 scheduler fixes that help with some
> multi node performance issues.

They look fine to me. I'll probably ping you when I'll rip out all that
SD_NODES_PER_DOMAIN crap for good, but until then I'm fine with you
fiddling it for ppc64.

Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>

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

* Re: [PATCH 0/5] ppc64 scheduler fixes
  2011-07-25 12:41   ` Peter Zijlstra
@ 2011-09-20  0:19     ` Anton Blanchard
  -1 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-09-20  0:19 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: mingo, benh, linuxppc-dev, linux-kernel


Hi Peter,

> On Mon, 2011-07-25 at 12:33 +1000, Anton Blanchard wrote:
> > Here are a set of ppc64 scheduler fixes that help with some
> > multi node performance issues.
> 
> They look fine to me. I'll probably ping you when I'll rip out all
> that SD_NODES_PER_DOMAIN crap for good, but until then I'm fine with
> you fiddling it for ppc64.
> 
> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>

Are you OK if Ben takes this, or would you prefer to send it via the
scheduler tree?

Anton
--

[2/5] sched: Allow SD_NODES_PER_DOMAIN to be overridden

We want to override the default value of SD_NODES_PER_DOMAIN on ppc64,
so move it into linux/topology.h.

Signed-off-by: Anton Blanchard <anton@samba.org>

---

Index: linux-2.6-work/include/linux/topology.h
===================================================================
--- linux-2.6-work.orig/include/linux/topology.h	2011-07-25 11:20:02.588717796 +1000
+++ linux-2.6-work/include/linux/topology.h	2011-07-25 11:26:50.616468376 +1000
@@ -201,6 +201,10 @@ int arch_update_cpu_topology(void);
 	.balance_interval	= 64,					\
 }
 
+#ifndef SD_NODES_PER_DOMAIN
+#define SD_NODES_PER_DOMAIN 16
+#endif
+
 #ifdef CONFIG_SCHED_BOOK
 #ifndef SD_BOOK_INIT
 #error Please define an appropriate SD_BOOK_INIT in include/asm/topology.h!!!
Index: linux-2.6-work/kernel/sched.c
===================================================================
--- linux-2.6-work.orig/kernel/sched.c	2011-07-25 11:20:09.538850173 +1000
+++ linux-2.6-work/kernel/sched.c	2011-07-25 11:26:50.626468565 +1000
@@ -6938,8 +6938,6 @@ static int __init isolated_cpu_setup(cha
 
 __setup("isolcpus=", isolated_cpu_setup);
 
-#define SD_NODES_PER_DOMAIN 16
-
 #ifdef CONFIG_NUMA
 
 /**

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

* Re: [PATCH 0/5] ppc64 scheduler fixes
@ 2011-09-20  0:19     ` Anton Blanchard
  0 siblings, 0 replies; 18+ messages in thread
From: Anton Blanchard @ 2011-09-20  0:19 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: mingo, linuxppc-dev, linux-kernel


Hi Peter,

> On Mon, 2011-07-25 at 12:33 +1000, Anton Blanchard wrote:
> > Here are a set of ppc64 scheduler fixes that help with some
> > multi node performance issues.
> 
> They look fine to me. I'll probably ping you when I'll rip out all
> that SD_NODES_PER_DOMAIN crap for good, but until then I'm fine with
> you fiddling it for ppc64.
> 
> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>

Are you OK if Ben takes this, or would you prefer to send it via the
scheduler tree?

Anton
--

[2/5] sched: Allow SD_NODES_PER_DOMAIN to be overridden

We want to override the default value of SD_NODES_PER_DOMAIN on ppc64,
so move it into linux/topology.h.

Signed-off-by: Anton Blanchard <anton@samba.org>

---

Index: linux-2.6-work/include/linux/topology.h
===================================================================
--- linux-2.6-work.orig/include/linux/topology.h	2011-07-25 11:20:02.588717796 +1000
+++ linux-2.6-work/include/linux/topology.h	2011-07-25 11:26:50.616468376 +1000
@@ -201,6 +201,10 @@ int arch_update_cpu_topology(void);
 	.balance_interval	= 64,					\
 }
 
+#ifndef SD_NODES_PER_DOMAIN
+#define SD_NODES_PER_DOMAIN 16
+#endif
+
 #ifdef CONFIG_SCHED_BOOK
 #ifndef SD_BOOK_INIT
 #error Please define an appropriate SD_BOOK_INIT in include/asm/topology.h!!!
Index: linux-2.6-work/kernel/sched.c
===================================================================
--- linux-2.6-work.orig/kernel/sched.c	2011-07-25 11:20:09.538850173 +1000
+++ linux-2.6-work/kernel/sched.c	2011-07-25 11:26:50.626468565 +1000
@@ -6938,8 +6938,6 @@ static int __init isolated_cpu_setup(cha
 
 __setup("isolcpus=", isolated_cpu_setup);
 
-#define SD_NODES_PER_DOMAIN 16
-
 #ifdef CONFIG_NUMA
 
 /**

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

* Re: [PATCH 0/5] ppc64 scheduler fixes
  2011-09-20  0:19     ` Anton Blanchard
  (?)
@ 2011-09-20  1:38     ` Benjamin Herrenschmidt
  -1 siblings, 0 replies; 18+ messages in thread
From: Benjamin Herrenschmidt @ 2011-09-20  1:38 UTC (permalink / raw)
  To: Anton Blanchard; +Cc: Peter Zijlstra, mingo, linuxppc-dev, linux-kernel

On Tue, 2011-09-20 at 10:19 +1000, Anton Blanchard wrote:
> Hi Peter,
> 
> > On Mon, 2011-07-25 at 12:33 +1000, Anton Blanchard wrote:
> > > Here are a set of ppc64 scheduler fixes that help with some
> > > multi node performance issues.
> > 
> > They look fine to me. I'll probably ping you when I'll rip out all
> > that SD_NODES_PER_DOMAIN crap for good, but until then I'm fine with
> > you fiddling it for ppc64.
> > 
> > Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> 
> Are you OK if Ben takes this, or would you prefer to send it via the
> scheduler tree?

I've already put it in my next branch that I'll stick on github later
today hopefully :-)

Cheers,
Ben.
 
> Anton
> --
> 
> [2/5] sched: Allow SD_NODES_PER_DOMAIN to be overridden
> 
> We want to override the default value of SD_NODES_PER_DOMAIN on ppc64,
> so move it into linux/topology.h.
> 
> Signed-off-by: Anton Blanchard <anton@samba.org>
> 
> ---
> 
> Index: linux-2.6-work/include/linux/topology.h
> ===================================================================
> --- linux-2.6-work.orig/include/linux/topology.h	2011-07-25 11:20:02.588717796 +1000
> +++ linux-2.6-work/include/linux/topology.h	2011-07-25 11:26:50.616468376 +1000
> @@ -201,6 +201,10 @@ int arch_update_cpu_topology(void);
>  	.balance_interval	= 64,					\
>  }
>  
> +#ifndef SD_NODES_PER_DOMAIN
> +#define SD_NODES_PER_DOMAIN 16
> +#endif
> +
>  #ifdef CONFIG_SCHED_BOOK
>  #ifndef SD_BOOK_INIT
>  #error Please define an appropriate SD_BOOK_INIT in include/asm/topology.h!!!
> Index: linux-2.6-work/kernel/sched.c
> ===================================================================
> --- linux-2.6-work.orig/kernel/sched.c	2011-07-25 11:20:09.538850173 +1000
> +++ linux-2.6-work/kernel/sched.c	2011-07-25 11:26:50.626468565 +1000
> @@ -6938,8 +6938,6 @@ static int __init isolated_cpu_setup(cha
>  
>  __setup("isolcpus=", isolated_cpu_setup);
>  
> -#define SD_NODES_PER_DOMAIN 16
> -
>  #ifdef CONFIG_NUMA
>  
>  /**
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/



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

* Re: [PATCH 0/5] ppc64 scheduler fixes
  2011-09-20  0:19     ` Anton Blanchard
@ 2011-09-20  8:07       ` Peter Zijlstra
  -1 siblings, 0 replies; 18+ messages in thread
From: Peter Zijlstra @ 2011-09-20  8:07 UTC (permalink / raw)
  To: Anton Blanchard; +Cc: mingo, benh, linuxppc-dev, linux-kernel

On Tue, 2011-09-20 at 10:19 +1000, Anton Blanchard wrote:
> > Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> 
> Are you OK if Ben takes this, or would you prefer to send it via the
> scheduler tree? 

I was expecting Ben to pick it up, and I see he already did so.

Thanks!

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

* Re: [PATCH 0/5] ppc64 scheduler fixes
@ 2011-09-20  8:07       ` Peter Zijlstra
  0 siblings, 0 replies; 18+ messages in thread
From: Peter Zijlstra @ 2011-09-20  8:07 UTC (permalink / raw)
  To: Anton Blanchard; +Cc: mingo, linuxppc-dev, linux-kernel

On Tue, 2011-09-20 at 10:19 +1000, Anton Blanchard wrote:
> > Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
>=20
> Are you OK if Ben takes this, or would you prefer to send it via the
> scheduler tree?=20

I was expecting Ben to pick it up, and I see he already did so.

Thanks!

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

end of thread, other threads:[~2011-09-20  8:07 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-25  2:33 [PATCH 0/5] ppc64 scheduler fixes Anton Blanchard
2011-07-25  2:33 ` [PATCH 1/5] powerpc/numa: Enable SD_WAKE_AFFINE in node definition Anton Blanchard
2011-07-25  2:33   ` Anton Blanchard
2011-07-25  2:33 ` [PATCH 2/5] sched: Allow SD_NODES_PER_DOMAIN to be overridden Anton Blanchard
2011-07-25  2:33   ` Anton Blanchard
2011-07-25  2:33 ` [PATCH 3/5] powerpc/numa: Increase SD_NODES_PER_DOMAIN to 32 Anton Blanchard
2011-07-25  2:33   ` Anton Blanchard
2011-07-25  2:33 ` [PATCH 4/5] powerpc/numa: Disable NEWIDLE balancing at node level Anton Blanchard
2011-07-25  2:33   ` Anton Blanchard
2011-07-25  2:33 ` [PATCH 5/5] powerpc/numa: Remove duplicate RECLAIM_DISTANCE definition Anton Blanchard
2011-07-25  2:33   ` Anton Blanchard
2011-07-25 12:41 ` [PATCH 0/5] ppc64 scheduler fixes Peter Zijlstra
2011-07-25 12:41   ` Peter Zijlstra
2011-09-20  0:19   ` Anton Blanchard
2011-09-20  0:19     ` Anton Blanchard
2011-09-20  1:38     ` Benjamin Herrenschmidt
2011-09-20  8:07     ` Peter Zijlstra
2011-09-20  8:07       ` Peter Zijlstra

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.