mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 23:30:53 +07:00
rcu: documentation 1Q09 update
Update the RCU documentation to call out the need for callers of primitives like call_rcu() and synchronize_rcu() to prevent subsequent RCU readers from hazard. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
be50b8342d
commit
0612ea00a0
@ -298,3 +298,15 @@ over a rather long period of time, but improvements are always welcome!
|
|||||||
|
|
||||||
Note that, rcu_assign_pointer() and rcu_dereference() relate to
|
Note that, rcu_assign_pointer() and rcu_dereference() relate to
|
||||||
SRCU just as they do to other forms of RCU.
|
SRCU just as they do to other forms of RCU.
|
||||||
|
|
||||||
|
15. The whole point of call_rcu(), synchronize_rcu(), and friends
|
||||||
|
is to wait until all pre-existing readers have finished before
|
||||||
|
carrying out some otherwise-destructive operation. It is
|
||||||
|
therefore critically important to -first- remove any path
|
||||||
|
that readers can follow that could be affected by the
|
||||||
|
destructive operation, and -only- -then- invoke call_rcu(),
|
||||||
|
synchronize_rcu(), or friends.
|
||||||
|
|
||||||
|
Because these primitives only wait for pre-existing readers,
|
||||||
|
it is the caller's responsibility to guarantee safety to
|
||||||
|
any subsequent readers.
|
||||||
|
Loading…
Reference in New Issue
Block a user