Skip to content

Commit 9cd44d9

Browse files
urezkichantra
authored andcommitted
workqueue: Make queue_rcu_work() use call_rcu_flush()
call_rcu() changes to save power will slow down RCU workqueue items queued via queue_rcu_work(). This may not be an issue, however we cannot assume that workqueue users are OK with long delays. Use call_rcu_flush() API instead which reverts to the old behavior. Signed-off-by: Uladzislau Rezki <[email protected]> Signed-off-by: Joel Fernandes (Google) <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]>
1 parent 0c67ceb commit 9cd44d9

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

kernel/workqueue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1771,7 +1771,7 @@ bool queue_rcu_work(struct workqueue_struct *wq, struct rcu_work *rwork)
17711771

17721772
if (!test_and_set_bit(WORK_STRUCT_PENDING_BIT, work_data_bits(work))) {
17731773
rwork->wq = wq;
1774-
call_rcu(&rwork->rcu, rcu_work_rcufn);
1774+
call_rcu_flush(&rwork->rcu, rcu_work_rcufn);
17751775
return true;
17761776
}
17771777

0 commit comments

Comments
 (0)