diff options
author | Siddha, Suresh B <suresh.b.siddha@intel.com> | 2006-07-30 03:02:59 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-31 13:28:36 -0700 |
commit | f712c0c7e1796f92e45e4de144e247816d974b8f (patch) | |
tree | eb830b95b462b09f1263ce004e28b724bbbf2eff /kernel | |
parent | b6ff50833ad43a8ebd9b16bf53c334f7aaf33c41 (diff) | |
download | op-kernel-dev-f712c0c7e1796f92e45e4de144e247816d974b8f.zip op-kernel-dev-f712c0c7e1796f92e45e4de144e247816d974b8f.tar.gz |
[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')
-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 b44b9a4..41a5718 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 */ |