|
@@ -1949,7 +1949,13 @@ __acquires(&gcwq->lock)
|
|
|
|
|
|
lockdep_copy_map(&lockdep_map, &work->lockdep_map);
|
|
|
#endif
|
|
|
+ /*
|
|
|
+ * Ensure we're on the correct CPU. DISASSOCIATED test is
|
|
|
+ * necessary to avoid spurious warnings from rescuers servicing the
|
|
|
+ * unbound or a disassociated gcwq.
|
|
|
+ */
|
|
|
WARN_ON_ONCE(!(worker->flags & (WORKER_UNBOUND | WORKER_REBIND)) &&
|
|
|
+ !(gcwq->flags & GCWQ_DISASSOCIATED) &&
|
|
|
raw_smp_processor_id() != gcwq->cpu);
|
|
|
|
|
|
/*
|