• William Lee Irwin III's avatar
    [PATCH] fix sched_domains hotplug bootstrap ordering vs. cpu_online_map issue · c3272d7c
    William Lee Irwin III authored
    cpu_online_map is not set up at the time of sched domain initialization
    when hotplug cpu paths are used for SMP booting.
    
    At this phase of bootstrapping, cpu_possible_map can be used by the
    various architectures using cpu hotplugging for SMP bootstrap, but the
    manipulations of cpu_online_map done on behalf of NUMA architectures,
    done indirectly via node_to_cpumask(), can't, because cpu_online_map
    starts depopulated and hasn't yet been populated.
    
    On true NUMA architectures this is a distinct cpumask_t from
    cpu_online_map and so the unpatched code works on NUMA; on non-NUMA
    architectures the definition of node_to_cpumask() this way breaks and
    would require an invasive sweeping of users of node_to_cpumask() to
    change it to e.g.  cpu_possible_map, as cpu_possible_map is not suitable
    for use at runtime as a substitute for cpu_online_map.
    Signed-off-by: default avatarWilliam Irwin <wli@holomorphy.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    c3272d7c
sched.c 119 KB