Skip to content
Snippets Groups Projects
  • Tejun Heo's avatar
    workqueue: fix spurious CPU locality WARN from process_one_work() · 6fec10a1
    Tejun Heo authored
    
    25511a47 "workqueue: reimplement CPU online rebinding to handle idle
    workers" added CPU locality sanity check in process_one_work().  It
    triggers if a worker is executing on a different CPU without UNBOUND
    or REBIND set.
    
    This works for all normal workers but rescuers can trigger this
    spuriously when they're serving the unbound or a disassociated
    global_cwq - rescuers don't have either flag set and thus its
    gcwq->cpu can be a different value including %WORK_CPU_UNBOUND.
    
    Fix it by additionally testing %GCWQ_DISASSOCIATED.
    
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Reported-by: default avatar"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
    LKML-Refence: <20120721213656.GA7783@linux.vnet.ibm.com>
    6fec10a1
Code owners
Assign users and groups as approvers for specific file changes. Learn more.