summaryrefslogtreecommitdiff
path: root/kernel/sched.c
diff options
context:
space:
mode:
authorSiddha, Suresh B <suresh.b.siddha@intel.com>2006-07-30 03:02:59 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-31 13:28:36 -0700
commitf712c0c7e1796f92e45e4de144e247816d974b8f (patch)
treeeb830b95b462b09f1263ce004e28b724bbbf2eff /kernel/sched.c
parentb6ff50833ad43a8ebd9b16bf53c334f7aaf33c41 (diff)
downloadlwn-f712c0c7e1796f92e45e4de144e247816d974b8f.tar.gz
lwn-f712c0c7e1796f92e45e4de144e247816d974b8f.zip
[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.c7
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)
for (i = 0; i < MAX_NUMNODES; i++)
init_numa_sched_groups_power(sched_group_nodes[i]);
- init_numa_sched_groups_power(sched_group_allnodes);
+ if (sched_group_allnodes) {
+ int group = cpu_to_allnodes_group(first_cpu(*cpu_map));
+ struct sched_group *sg = &sched_group_allnodes[group];
+
+ init_numa_sched_groups_power(sg);
+ }
#endif
/* Attach the domains */