• Tejun Heo's avatar
    workqueue: fix mayday_mask handling on UP · f2e005aa
    Tejun Heo authored
    All cpumasks are assumed to have cpu 0 permanently set on UP, so it
    can't be used to signify whether there's something to be done for the
    CPU.  workqueue was using cpumask to track which CPU requested rescuer
    assistance and this led rescuer thread to think there always are
    pending mayday requests on UP, which resulted in infinite busy loops.
    
    This patch fixes the problem by introducing mayday_mask_t and
    associated helpers which wrap cpumask on SMP and emulates its behavior
    using bitops and unsigned long on UP.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    f2e005aa
workqueue.c 95.8 KB