diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-08 14:59:29 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-08 14:59:29 -0700 |
commit | 72494504498ff5ac2f086a83473d4dd1ca490bd3 (patch) | |
tree | 7f1ceab43de3580235f1a56f2ae865901c09e4d7 /arch | |
parent | cd96891d48a945ca2011fbeceda73813d6286195 (diff) | |
parent | a841f8cef4bb124f0f5563314d0beaf2e1249d72 (diff) | |
download | linux-3.10-72494504498ff5ac2f086a83473d4dd1ca490bd3.tar.gz linux-3.10-72494504498ff5ac2f086a83473d4dd1ca490bd3.tar.bz2 linux-3.10-72494504498ff5ac2f086a83473d4dd1ca490bd3.zip |
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fixes from Ingo Molnar.
* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched: Fix the relax_domain_level boot parameter
sched: Validate assumptions in sched_init_numa()
sched: Always initialize cpu-power
sched: Fix domain iteration
sched/rt: Fix lockdep annotation within find_lock_lowest_rq()
sched/numa: Load balance between remote nodes
sched/x86: Calculate booted cores after construction of sibling_mask
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index fd019d78b1f..3fab55bea29 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -382,6 +382,15 @@ void __cpuinit set_cpu_sibling_map(int cpu) if ((i == cpu) || (has_mc && match_llc(c, o))) link_mask(llc_shared, cpu, i); + } + + /* + * This needs a separate iteration over the cpus because we rely on all + * cpu_sibling_mask links to be set-up. + */ + for_each_cpu(i, cpu_sibling_setup_mask) { + o = &cpu_data(i); + if ((i == cpu) || (has_mc && match_mc(c, o))) { link_mask(core, cpu, i); |