Commit 44cfc37b authored by Dimitri Sivanich's avatar Dimitri Sivanich Committed by Linus Torvalds

[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: default avatarDimitri Sivanich <sivanich@sgi.com>
Acked-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 119b7c92
......@@ -221,6 +221,23 @@ 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
init_sched_build_groups(sched_group_allnodes, cpu_default_map,
&cpu_to_allnodes_group);
......
......@@ -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,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment