|
@@ -2043,8 +2043,10 @@ __acquires(&pool->lock)
|
|
* kernels, where a requeueing work item waiting for something to
|
|
* kernels, where a requeueing work item waiting for something to
|
|
* happen could deadlock with stop_machine as such work item could
|
|
* happen could deadlock with stop_machine as such work item could
|
|
* indefinitely requeue itself while all other CPUs are trapped in
|
|
* indefinitely requeue itself while all other CPUs are trapped in
|
|
- * stop_machine.
|
|
|
|
|
|
+ * stop_machine. At the same time, report a quiescent RCU state so
|
|
|
|
+ * the same condition doesn't freeze RCU.
|
|
*/
|
|
*/
|
|
|
|
+ rcu_note_voluntary_context_switch(current);
|
|
cond_resched();
|
|
cond_resched();
|
|
|
|
|
|
spin_lock_irq(&pool->lock);
|
|
spin_lock_irq(&pool->lock);
|