• Lai Jiangshan's avatar
    workqueue: clear POOL_DISASSOCIATED in rebind_workers() · 3de5e884
    Lai Jiangshan authored
    a9ab775b ("workqueue: directly restore CPU affinity of workers
    from CPU_ONLINE") moved pool locking into rebind_workers() but left
    "pool->flags &= ~POOL_DISASSOCIATED" in workqueue_cpu_up_callback().
    
    There is nothing necessarily wrong with it, but there is no benefit
    either.  Let's move it into rebind_workers() and achieve the following
    benefits:
    
      1) better readability, POOL_DISASSOCIATED is cleared in rebind_workers()
         as expected.
    
      2) we can guarantee that, when POOL_DISASSOCIATED is clear, the
         running workers of the pool are on the local CPU (pool->cpu).
    
    tj: Minor description update.
    Signed-off-by: default avatarLai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    3de5e884
workqueue.c 137 KB