• Heiko Carstens's avatar
    [PATCH] s390: smp initialization speed · 54330456
    Heiko Carstens authored
    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: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    54330456
smp.c 20.6 KB