[PATCH 2/15] sched, x86: Provide initializer for MN schedulingdomain, define MN level

From: Andreas Herrmann
Date: Thu Aug 20 2009 - 09:34:20 EST



Signed-off-by: Andreas Herrmann <andreas.herrmann3@xxxxxxx>
---
arch/x86/include/asm/topology.h | 25 +++++++++++++++++++++++++
include/linux/sched.h | 1 +
2 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h
index d53ef91..6d7d133 100644
--- a/arch/x86/include/asm/topology.h
+++ b/arch/x86/include/asm/topology.h
@@ -181,6 +181,31 @@ static inline void setup_node_to_cpumask_map(void) { }

#endif

+#ifdef CONFIG_SCHED_MN
+/* Common values for multi-node siblings */
+#ifndef SD_MN_INIT
+#define SD_MN_INIT (struct sched_domain) { \
+ .min_interval = 1, \
+ .max_interval = 4, \
+ .busy_factor = 64, \
+ .imbalance_pct = 125, \
+ .cache_nice_tries = 1, \
+ .busy_idx = 2, \
+ .wake_idx = 1, \
+ .forkexec_idx = 1, \
+ .flags = SD_LOAD_BALANCE \
+ | SD_BALANCE_FORK \
+ | SD_BALANCE_EXEC \
+ | SD_WAKE_AFFINE \
+ | SD_WAKE_BALANCE \
+ | sd_balance_for_package_power()\
+ | sd_power_saving_flags(),\
+ .last_balance = jiffies, \
+ .balance_interval = 1, \
+}
+#endif
+#endif /* CONFIG_SCHED_MN */
+
#include <asm-generic/topology.h>

extern const struct cpumask *cpu_coregroup_mask(int cpu);
diff --git a/include/linux/sched.h b/include/linux/sched.h
index af1e328..3a1f8db 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -901,6 +901,7 @@ enum sched_domain_level {
SD_LV_NONE = 0,
SD_LV_SIBLING,
SD_LV_MC,
+ SD_LV_MN,
SD_LV_CPU,
SD_LV_NODE,
SD_LV_ALLNODES,
--
1.6.0.4



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/