diff options
author | Dimitri Sivanich <sivanich@sgi.com> | 2004-12-06 16:04:43 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-12-06 16:04:43 -0800 |
commit | 44cfc37bb7a041b69fea66c25e41febe534825a2 (patch) | |
tree | b37d8332a21a6d5d73f572dda05c473c610b5c9f /kernel | |
parent | 119b7c925fa92fe02bf0fe45423959deb03e67d3 (diff) | |
download | history-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.c | 17 |
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, |