[tip:sched/domains] sched: Reduce some allocation pressure

From: tip-bot for Peter Zijlstra
Date: Mon Apr 11 2011 - 10:39:27 EST


Commit-ID: 3859173d43658d51a749bc0201b943922577d39c
Gitweb: http://git.kernel.org/tip/3859173d43658d51a749bc0201b943922577d39c
Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
AuthorDate: Thu, 7 Apr 2011 14:09:53 +0200
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Mon, 11 Apr 2011 12:58:21 +0200

sched: Reduce some allocation pressure

Since we now allocate SD_LV_MAX * nr_cpu_ids sched_domain/sched_group
structures when rebuilding the scheduler toplogy it might make sense
to shrink that depending on the CONFIG_ options.

This is only needed until we get rid of SD_LV_* alltogether and
provide a full dynamic topology interface.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Nick Piggin <npiggin@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20110407122942.406226449@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
include/linux/sched.h | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 020b79d..5a9168b 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -897,12 +897,20 @@ static inline struct cpumask *sched_group_cpus(struct sched_group *sg)

enum sched_domain_level {
SD_LV_NONE = 0,
+#ifdef CONFIG_SCHED_SMT
SD_LV_SIBLING,
+#endif
+#ifdef CONFIG_SCHED_MC
SD_LV_MC,
+#endif
+#ifdef CONFIG_SCHED_BOOK
SD_LV_BOOK,
+#endif
SD_LV_CPU,
+#ifdef CONFIG_NUMA
SD_LV_NODE,
SD_LV_ALLNODES,
+#endif
SD_LV_MAX
};

--
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/