diff options
author | Nick Piggin <nickpiggin@yahoo.com.au> | 2005-06-25 14:57:19 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-25 16:24:42 -0700 |
commit | 147cbb4bbe991452698f0772d8292f22825710ba (patch) | |
tree | cb86550d7e440e7dfbe22b0af6d2cfc991cb76cf /include/asm-x86_64 | |
parent | cafb20c1f9976a70d633bb1e1c8c24eab00e4e80 (diff) | |
download | linux-3.10-147cbb4bbe991452698f0772d8292f22825710ba.tar.gz linux-3.10-147cbb4bbe991452698f0772d8292f22825710ba.tar.bz2 linux-3.10-147cbb4bbe991452698f0772d8292f22825710ba.zip |
[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.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/asm-x86_64/topology.h b/include/asm-x86_64/topology.h index 9cb7459ce72..802d09b9c99 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, \ |