diff options
author | Siddha, Suresh B <suresh.b.siddha@intel.com> | 2006-07-30 06:02:59 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-31 16:28:36 -0400 |
commit | f712c0c7e1796f92e45e4de144e247816d974b8f (patch) | |
tree | eb830b95b462b09f1263ce004e28b724bbbf2eff /kernel/sched.c | |
parent | b6ff50833ad43a8ebd9b16bf53c334f7aaf33c41 (diff) |
[PATCH] sched: build_sched_domains() fix
Use the correct groups while initializing sched groups power for
allnodes_domain. This fixes the crash observed while creating exclusive
cpusets.
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Reported-and-tested-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index b44b9a43b0fc..41a571806ce0 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -6494,7 +6494,12 @@ static int build_sched_domains(const cpumask_t *cpu_map) | |||
6494 | for (i = 0; i < MAX_NUMNODES; i++) | 6494 | for (i = 0; i < MAX_NUMNODES; i++) |
6495 | init_numa_sched_groups_power(sched_group_nodes[i]); | 6495 | init_numa_sched_groups_power(sched_group_nodes[i]); |
6496 | 6496 | ||
6497 | init_numa_sched_groups_power(sched_group_allnodes); | 6497 | if (sched_group_allnodes) { |
6498 | int group = cpu_to_allnodes_group(first_cpu(*cpu_map)); | ||
6499 | struct sched_group *sg = &sched_group_allnodes[group]; | ||
6500 | |||
6501 | init_numa_sched_groups_power(sg); | ||
6502 | } | ||
6498 | #endif | 6503 | #endif |
6499 | 6504 | ||
6500 | /* Attach the domains */ | 6505 | /* Attach the domains */ |