summaryrefslogtreecommitdiff
path: root/kernel/sched.c
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2011-04-07 14:09:46 +0200
committerIngo Molnar <mingo@elte.hu>2011-04-11 12:58:18 +0200
commit3739494e08da50c8a68d65eed5ba3012a54b40d4 (patch)
tree017c352276b7e1bc800b7fa08bf6da78c56b8e82 /kernel/sched.c
parentcd4ea6ae3982f6861da3b510e69cbc194f331d83 (diff)
sched: Clean up some ALLNODES code
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mike Galbraith <efault@gmx.de> Cc: Nick Piggin <npiggin@kernel.dk> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Link: http://lkml.kernel.org/r/20110407122942.025636011@chello.nl Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sched.c')
-rw-r--r--kernel/sched.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 72d561fa67b7..fa10cf73c80c 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -7280,7 +7280,9 @@ static void build_sched_groups(struct s_data *d, enum sched_domain_level l,
d->send_covered, d->tmpmask);
case SD_LV_ALLNODES:
- init_sched_build_groups(cpu_map, cpu_map, &cpu_to_allnodes_group,
+ if (cpu == cpumask_first(cpu_map))
+ init_sched_build_groups(cpu_map, cpu_map,
+ &cpu_to_allnodes_group,
d->send_covered, d->tmpmask);
break;
#endif
@@ -7331,14 +7333,9 @@ static int __build_sched_domains(const struct cpumask *cpu_map,
build_sched_groups(&d, SD_LV_MC, cpu_map, i);
build_sched_groups(&d, SD_LV_CPU, cpu_map, i);
build_sched_groups(&d, SD_LV_NODE, cpu_map, i);
+ build_sched_groups(&d, SD_LV_ALLNODES, cpu_map, i);
}
-#ifdef CONFIG_NUMA
- /* Set up node groups */
- if (d.sd_allnodes)
- build_sched_groups(&d, SD_LV_ALLNODES, cpu_map, 0);
-#endif
-
/* Calculate CPU power for physical packages and nodes */
#ifdef CONFIG_SCHED_SMT
for_each_cpu(i, cpu_map) {