Commit e15aed42 authored by Paul E. McKenney's avatar Paul E. McKenney Committed by Boqun Feng

doc: Update checklist.rst discussion of callback execution

This commit completes the list of call_rcu*() functions that are not
guaranteed to have their callbacks executing on the same CPU.  While in
the area, fix an unrelated typo.
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
parent 56823e9f
...@@ -383,16 +383,17 @@ over a rather long period of time, but improvements are always welcome! ...@@ -383,16 +383,17 @@ over a rather long period of time, but improvements are always welcome!
must use whatever locking or other synchronization is required must use whatever locking or other synchronization is required
to safely access and/or modify that data structure. to safely access and/or modify that data structure.
Do not assume that RCU callbacks will be executed on the same Do not assume that RCU callbacks will be executed on
CPU that executed the corresponding call_rcu() or call_srcu(). the same CPU that executed the corresponding call_rcu(),
For example, if a given CPU goes offline while having an RCU call_srcu(), call_rcu_tasks(), call_rcu_tasks_rude(), or
callback pending, then that RCU callback will execute on some call_rcu_tasks_trace(). For example, if a given CPU goes offline
surviving CPU. (If this was not the case, a self-spawning RCU while having an RCU callback pending, then that RCU callback
callback would prevent the victim CPU from ever going offline.) will execute on some surviving CPU. (If this was not the case,
Furthermore, CPUs designated by rcu_nocbs= might well *always* a self-spawning RCU callback would prevent the victim CPU from
have their RCU callbacks executed on some other CPUs, in fact, ever going offline.) Furthermore, CPUs designated by rcu_nocbs=
for some real-time workloads, this is the whole point of using might well *always* have their RCU callbacks executed on some
the rcu_nocbs= kernel boot parameter. other CPUs, in fact, for some real-time workloads, this is the
whole point of using the rcu_nocbs= kernel boot parameter.
In addition, do not assume that callbacks queued in a given order In addition, do not assume that callbacks queued in a given order
will be invoked in that order, even if they all are queued on the will be invoked in that order, even if they all are queued on the
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment