• Tejun Heo's avatar
    workqueue: introduce global cwq and unify cwq locks · 8b03ae3c
    Tejun Heo authored
    There is one gcwq (global cwq) per each cpu and all cwqs on an cpu
    point to it.  A gcwq contains a lock to be used by all cwqs on the cpu
    and an ida to give IDs to workers belonging to the cpu.
    
    This patch introduces gcwq, moves worker_ida into gcwq and make all
    cwqs on the same cpu use the cpu's gcwq->lock instead of separate
    locks.  gcwq->ida is now protected by gcwq->lock too.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    8b03ae3c
workqueue.c 47.9 KB