summary refs log tree commit diff
path: root/Documentation/RCU
diff options
context:
space:
mode:
authorMilos Vyletel <milos@redhat.com>2015-04-17 16:38:04 +0200
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-05-27 12:57:28 -0700
commited38446424dd531f1b7a167677232a6d400d69d5 (patch)
tree061898389cefd9fd56264e1b4391134cd42e2cac /Documentation/RCU
parentee7c29be3695996536395f647e8a2ed6b1ab3a0d (diff)
downloadlinux-ed38446424dd531f1b7a167677232a6d400d69d5.tar.gz
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>
Diffstat (limited to 'Documentation/RCU')
-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()
 	If you are going to be fetching multiple fields from the
 	RCU-protected structure, using the local variable is of
 	course preferred.  Repeated rcu_dereference() calls look
-	ugly and incur unnecessary overhead on Alpha CPUs.
+	ugly, do not guarantee that the same pointer will be returned
+	if an update happened while in the critical section, and incur
+	unnecessary overhead on Alpha CPUs.
 
 	Note that the value returned by rcu_dereference() is valid
 	only within the enclosing RCU read-side critical section.