aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorDimitri Sivanich <sivanich@sgi.com>2004-12-06 16:04:43 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-12-06 16:04:43 -0800
commit44cfc37bb7a041b69fea66c25e41febe534825a2 (patch)
treeb37d8332a21a6d5d73f572dda05c473c610b5c9f /kernel
parent119b7c925fa92fe02bf0fe45423959deb03e67d3 (diff)
downloadhistory-44cfc37bb7a041b69fea66c25e41febe534825a2.tar.gz
[PATCH] isolcpus option fix
The isolcpus option is broken in 2.6.10-rc2-bk2. The domains are no longer being properly initialized (which results in a panic at bootup). Signed-off-by: Dimitri Sivanich <sivanich@sgi.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index c096b7be280882..45ee3fa7746737 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -4361,6 +4361,23 @@ static void __devinit arch_init_sched_domains(void)
&cpu_to_phys_group);
}
+ /* Initialize isolated CPU (physical) domains and groups */
+ for_each_cpu_mask(i, cpu_isolated_map) {
+ struct sched_domain *sd;
+ int group;
+
+ sd = &per_cpu(phys_domains, i);
+ group = cpu_to_phys_group(i);
+ *sd = SD_CPU_INIT;
+ cpu_set(i, sd->span);
+ sd->flags = 0;
+ sd->balance_interval = INT_MAX;
+ sd->groups = &sched_group_phys[group];
+ init_sched_build_groups(sched_group_phys, sd->span,
+ &cpu_to_phys_group);
+ sd->groups->cpu_power = SCHED_LOAD_SCALE;
+ }
+
#ifdef CONFIG_NUMA
/* Set up node groups */
init_sched_build_groups(sched_group_nodes, cpu_default_map,