sched: Disable wakeup balancing
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Wed, 16 Sep 2009 11:24:49 +0000 (13:24 +0200)
committerIngo Molnar <mingo@elte.hu>
Wed, 16 Sep 2009 14:44:33 +0000 (16:44 +0200)
Sysbench thinks SD_BALANCE_WAKE is too agressive and kbuild doesn't
really mind too much, SD_BALANCE_NEWIDLE picks up most of the
slack.

On a dual socket, quad core, dual thread nehalem system:

sysbench (--num_threads=16):

 SD_BALANCE_WAKE-: 13982 tx/s
 SD_BALANCE_WAKE+: 15688 tx/s

kbuild (-j16):

 SD_BALANCE_WAKE-: 47.648295846  seconds time elapsed   ( +-   0.312% )
 SD_BALANCE_WAKE+: 47.608607360  seconds time elapsed   ( +-   0.026% )

(same within noise)

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/ia64/include/asm/topology.h
arch/mips/include/asm/mach-ip27/topology.h
arch/powerpc/include/asm/topology.h
arch/sh/include/asm/topology.h
arch/sparc/include/asm/topology_64.h
arch/x86/include/asm/topology.h
include/linux/topology.h

index 569b9dafc78ccea972036c2ca2d304420593177b..d0141fbf51d0a893626f110814f1f646610750fc 100644 (file)
@@ -68,7 +68,6 @@ void build_cpu_to_node_map(void);
                                | SD_BALANCE_NEWIDLE    \
                                | SD_BALANCE_EXEC       \
                                | SD_BALANCE_FORK       \
-                               | SD_BALANCE_WAKE       \
                                | SD_WAKE_AFFINE,       \
        .last_balance           = jiffies,              \
        .balance_interval       = 1,                    \
@@ -94,7 +93,6 @@ void build_cpu_to_node_map(void);
                                | SD_BALANCE_NEWIDLE    \
                                | SD_BALANCE_EXEC       \
                                | SD_BALANCE_FORK       \
-                               | SD_BALANCE_WAKE       \
                                | SD_SERIALIZE,         \
        .last_balance           = jiffies,              \
        .balance_interval       = 64,                   \
index d8332398f5be1eccd46936f00f685bc9403d90ca..23059170700593ebad07907d109a8fa8639aeba4 100644 (file)
@@ -48,7 +48,6 @@ extern unsigned char __node_distances[MAX_COMPACT_NODES][MAX_COMPACT_NODES];
        .cache_nice_tries       = 1,                    \
        .flags                  = SD_LOAD_BALANCE       \
                                | SD_BALANCE_EXEC       \
-                               | SD_BALANCE_WAKE,      \
        .last_balance           = jiffies,              \
        .balance_interval       = 1,                    \
        .nr_balance_failed      = 0,                    \
index 1a2c9eb42a035c8d05c91916384363a4045a47a2..394edcbcce711cbf8181b4dff00a7eed2bfc153e 100644 (file)
@@ -63,7 +63,6 @@ static inline int pcibus_to_node(struct pci_bus *bus)
                                | SD_BALANCE_EXEC       \
                                | SD_BALANCE_FORK       \
                                | SD_BALANCE_NEWIDLE    \
-                               | SD_BALANCE_WAKE       \
                                | SD_SERIALIZE,         \
        .last_balance           = jiffies,              \
        .balance_interval       = 1,                    \
index a8cc564b703d2a6dd15c3b5b86204b4d5e61b7d2..f8c40cc65054656fc2d7a62d311d015ed45e3da8 100644 (file)
@@ -21,7 +21,6 @@
        .flags                  = SD_LOAD_BALANCE       \
                                | SD_BALANCE_FORK       \
                                | SD_BALANCE_EXEC       \
-                               | SD_BALANCE_WAKE       \
                                | SD_BALANCE_NEWIDLE    \
                                | SD_SERIALIZE,         \
        .last_balance           = jiffies,              \
index 10b979d1de20ffe89a77873298ec9986b74b932f..26cd25c0839977ae3ad1562d1806d9c52b42a5e9 100644 (file)
@@ -57,7 +57,6 @@ static inline int pcibus_to_node(struct pci_bus *pbus)
        .flags                  = SD_LOAD_BALANCE       \
                                | SD_BALANCE_FORK       \
                                | SD_BALANCE_EXEC       \
-                               | SD_BALANCE_WAKE       \
                                | SD_SERIALIZE,         \
        .last_balance           = jiffies,              \
        .balance_interval       = 1,                    \
index 589f12383d781fea792a33ceca33ce0b8c034361..6f0695d744bf1a44304862fe8898cf24ce815ece 100644 (file)
@@ -141,7 +141,7 @@ extern unsigned long node_remap_size[];
                                | 1*SD_BALANCE_NEWIDLE                  \
                                | 1*SD_BALANCE_EXEC                     \
                                | 1*SD_BALANCE_FORK                     \
-                               | 1*SD_BALANCE_WAKE                     \
+                               | 0*SD_BALANCE_WAKE                     \
                                | 1*SD_WAKE_AFFINE                      \
                                | 0*SD_SHARE_CPUPOWER                   \
                                | 0*SD_POWERSAVINGS_BALANCE             \
index a6614b0242a9a34331aa4418b07a0629dbbe1464..809b26c07090b11ea8966b4efd756e03aa7ef4cf 100644 (file)
@@ -95,7 +95,7 @@ int arch_update_cpu_topology(void);
                                | 1*SD_BALANCE_NEWIDLE                  \
                                | 1*SD_BALANCE_EXEC                     \
                                | 1*SD_BALANCE_FORK                     \
-                               | 1*SD_BALANCE_WAKE                     \
+                               | 0*SD_BALANCE_WAKE                     \
                                | 1*SD_WAKE_AFFINE                      \
                                | 1*SD_SHARE_CPUPOWER                   \
                                | 0*SD_POWERSAVINGS_BALANCE             \
@@ -127,7 +127,7 @@ int arch_update_cpu_topology(void);
                                | 1*SD_BALANCE_NEWIDLE                  \
                                | 1*SD_BALANCE_EXEC                     \
                                | 1*SD_BALANCE_FORK                     \
-                               | 1*SD_BALANCE_WAKE                     \
+                               | 0*SD_BALANCE_WAKE                     \
                                | 1*SD_WAKE_AFFINE                      \
                                | 1*SD_PREFER_LOCAL                     \
                                | 0*SD_SHARE_CPUPOWER                   \
@@ -160,7 +160,7 @@ int arch_update_cpu_topology(void);
                                | 1*SD_BALANCE_NEWIDLE                  \
                                | 1*SD_BALANCE_EXEC                     \
                                | 1*SD_BALANCE_FORK                     \
-                               | 1*SD_BALANCE_WAKE                     \
+                               | 0*SD_BALANCE_WAKE                     \
                                | 1*SD_WAKE_AFFINE                      \
                                | 1*SD_PREFER_LOCAL                     \
                                | 0*SD_SHARE_CPUPOWER                   \