[PATCH] s390: smp initialization speed
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 17 Feb 2006 21:52:48 +0000 (13:52 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 17 Feb 2006 21:59:27 +0000 (13:59 -0800)
commit54330456b2e3398743586254f6d7695061ea0d49
tree1527f8c2a5ff6247e88b73f6529b2b6b7aa9d724
parent37a3302618a51520e2056494715ea6b4776dd8ab
[PATCH] s390: smp initialization speed

The last changes that introduced the additional_cpus command line parameter
also introduced a regression regarding smp initialization speed.  In
smp_setup_cpu_possible_map() cpu_present_map is set to the same value as
cpu_possible_map.  Especially that means that bits in the present map will be
set for cpus that are not present.  This will cause a slow down in the initial
cpu_up() loop in smp_init() since trying to take cpus online that aren't
present takes a while.

Fix this by setting only bits for present cpus in cpu_present_map and set
cpu_present_map to cpu_possible_map in smp_cpus_done().

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/s390/kernel/smp.c