• Hugh Dickins's avatar
    rcu: Stop spurious warnings from synchronize_sched_expedited · 1cc85961
    Hugh Dickins authored
    synchronize_sched_expedited() is spamming CONFIG_DEBUG_PREEMPT=y
    users with an unintended warning from the cpu_is_offline() check: use
    raw_smp_processor_id() instead of smp_processor_id() there.
    
    Because the warning is under a get_online_cpus(), it is not possible
    for any CPUs to go offline, though it is quite possible that the
    task might migrate between the raw_smp_processor_id() and the check
    of cpu_is_offline().  This is not a problem because the task cannot
    migrate from an offline CPU to an online one or vice versa.  The point
    of the check is to verify that synchronize_sched_expedited() is not
    called from an offline CPU, for example, from a CPU_DYING notifier, or,
    more important, from an outgoing CPU making its way from its CPU_DYING
    notifiers to the idle loop.
    Signed-off-by: default avatarHugh Dickins <hughd@google.com>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    1cc85961
rcutree.c 79.3 KB