• Tejun Heo's avatar
    workqueue: fix worker management invocation without pending works · d313dd85
    Tejun Heo authored
    When there's no pending work to do, worker_thread() goes back to sleep
    after waking up without checking whether worker management is
    necessary.  This means that idle worker exit requests can be ignored
    if the gcwq stays empty.
    
    Fix it by making worker_thread() always check whether worker
    management is necessary before going to sleep.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    d313dd85
workqueue.c 93.9 KB