diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-03-12 18:31:59 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-03-21 16:43:48 +0100 |
commit | 22e52b072dd87faa9b2559fe89d4e8f2370f81ca (patch) | |
tree | 79e71d0aad3c9ea9f326977c3a3ff1dceaec81b5 | |
parent | 9aefd0abd8610e8f3bb097debf3afb73f8b7b210 (diff) |
sched: add arch_update_cpu_topology hook.
Will be called each time the scheduling domains are rebuild.
Needed for architectures that don't have a static cpu topology.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | include/linux/topology.h | 2 | ||||
-rw-r--r-- | kernel/sched.c | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/topology.h b/include/linux/topology.h index 2d8dac8799c..bd14f8b30f0 100644 --- a/include/linux/topology.h +++ b/include/linux/topology.h @@ -50,6 +50,8 @@ for_each_online_node(node) \ if (nr_cpus_node(node)) +void arch_update_cpu_topology(void); + /* Conform to ACPI 2.0 SLIT distance definitions */ #define LOCAL_DISTANCE 10 #define REMOTE_DISTANCE 20 diff --git a/kernel/sched.c b/kernel/sched.c index 78482e51b58..28c73f07efb 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -6807,6 +6807,10 @@ static int ndoms_cur; /* number of sched domains in 'doms_cur' */ */ static cpumask_t fallback_doms; +void __attribute__((weak)) arch_update_cpu_topology(void) +{ +} + /* * Set up scheduler domains and groups. Callers must hold the hotplug lock. * For now this just excludes isolated cpus, but could be used to @@ -6816,6 +6820,7 @@ static int arch_init_sched_domains(const cpumask_t *cpu_map) { int err; + arch_update_cpu_topology(); ndoms_cur = 1; doms_cur = kmalloc(sizeof(cpumask_t), GFP_KERNEL); if (!doms_cur) |