aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilos Vyletel <milos@redhat.com>2015-04-17 10:38:04 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-05-27 15:57:28 -0400
commited38446424dd531f1b7a167677232a6d400d69d5 (patch)
tree061898389cefd9fd56264e1b4391134cd42e2cac
parentee7c29be3695996536395f647e8a2ed6b1ab3a0d (diff)
documentation: State that rcu_dereference() reloads pointer
Make a note stating that repeated calls of rcu_dereference() may not return the same pointer if update happens while in critical section. Reported-by: Jeff Haran <jeff.haran@citrix.com> Signed-off-by: Milos Vyletel <milos@redhat.com> Reviewed-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
-rw-r--r--Documentation/RCU/whatisRCU.txt4
1 files changed, 3 insertions, 1 deletions
diff --git a/Documentation/RCU/whatisRCU.txt b/Documentation/RCU/whatisRCU.txt
index 88dfce182f66..16622c9e86b5 100644
--- a/Documentation/RCU/whatisRCU.txt
+++ b/Documentation/RCU/whatisRCU.txt
@@ -256,7 +256,9 @@ rcu_dereference()
256 If you are going to be fetching multiple fields from the 256 If you are going to be fetching multiple fields from the
257 RCU-protected structure, using the local variable is of 257 RCU-protected structure, using the local variable is of
258 course preferred. Repeated rcu_dereference() calls look 258 course preferred. Repeated rcu_dereference() calls look
259 ugly and incur unnecessary overhead on Alpha CPUs. 259 ugly, do not guarantee that the same pointer will be returned
260 if an update happened while in the critical section, and incur
261 unnecessary overhead on Alpha CPUs.
260 262
261 Note that the value returned by rcu_dereference() is valid 263 Note that the value returned by rcu_dereference() is valid
262 only within the enclosing RCU read-side critical section. 264 only within the enclosing RCU read-side critical section.