• Gregory Haskins's avatar
    keep rd->online and cpu_online_map in sync · 08f503b0
    Gregory Haskins authored
    It is possible to allow the root-domain cache of online cpus to
    become out of sync with the global cpu_online_map.  This is because we
    currently trigger removal of cpus too early in the notifier chain.
    Other DOWN_PREPARE handlers may in fact run and reconfigure the
    root-domain topology, thereby stomping on our own offline handling.
    
    The end result is that rd->online may become out of sync with
    cpu_online_map, which results in potential task misrouting.
    
    So change the offline handling to be more tightly coupled with the
    global offline process by triggering on CPU_DYING intead of
    CPU_DOWN_PREPARE.
    Signed-off-by: default avatarGregory Haskins <ghaskins@novell.com>
    Cc: Gautham R Shenoy <ego@in.ibm.com>
    Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
    Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    08f503b0
sched.c 194 KB