aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64
diff options
context:
space:
mode:
authorNick Piggin <nickpiggin@yahoo.com.au>2005-06-25 14:57:19 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-25 16:24:42 -0700
commit147cbb4bbe991452698f0772d8292f22825710ba (patch)
treecb86550d7e440e7dfbe22b0af6d2cfc991cb76cf /include/asm-x86_64
parentcafb20c1f9976a70d633bb1e1c8c24eab00e4e80 (diff)
downloadkernel_samsung_aries-147cbb4bbe991452698f0772d8292f22825710ba.zip
kernel_samsung_aries-147cbb4bbe991452698f0772d8292f22825710ba.tar.gz
kernel_samsung_aries-147cbb4bbe991452698f0772d8292f22825710ba.tar.bz2
[PATCH] sched: balance on fork
Reimplement the balance on exec balancing to be sched-domains aware. Use this to also do balance on fork balancing. Make x86_64 do balance on fork over the NUMA domain. The problem that the non sched domains aware blancing became apparent on dual core, multi socket opterons. What we want is for the new tasks to be sent to a different socket, but more often than not, we would first load up our sibling core, or fill two cores of a single remote socket before selecting a new one. This gives large improvements to STREAM on such systems. Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-x86_64')
-rw-r--r--include/asm-x86_64/topology.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/asm-x86_64/topology.h b/include/asm-x86_64/topology.h
index 9cb7459..802d09b 100644
--- a/include/asm-x86_64/topology.h
+++ b/include/asm-x86_64/topology.h
@@ -44,9 +44,11 @@ extern int __node_distance(int, int);
.idle_idx = 2, \
.newidle_idx = 1, \
.wake_idx = 1, \
+ .forkexec_idx = 1, \
.per_cpu_gain = 100, \
.flags = SD_LOAD_BALANCE \
| SD_BALANCE_NEWIDLE \
+ | SD_BALANCE_FORK \
| SD_BALANCE_EXEC \
| SD_WAKE_BALANCE, \
.last_balance = jiffies, \