diff --git a/Documentation/RCU/checklist.rst b/Documentation/RCU/checklist.rst index 5eedef027d922a64a75636ee2f0ff54191410df2..2db206fc3465f17f97786b57ff6853b95c0c9f1d 100644 --- a/Documentation/RCU/checklist.rst +++ b/Documentation/RCU/checklist.rst @@ -190,6 +190,9 @@ over a rather long period of time, but improvements are always welcome! 5. If call_rcu() or call_srcu() is used, the callback function will be called from softirq context. In particular, it cannot block. + If you need the callback to block, run that code in a workqueue + handler scheduled from the callback. The queue_rcu_work() + function does this for you in the case of call_rcu(). 6. Since synchronize_rcu() can block, it cannot be called from any sort of irq context. The same rule applies