diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-04-07 21:45:41 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-05-27 21:57:28 +0200 |
commit | ee7c29be3695996536395f647e8a2ed6b1ab3a0d (patch) | |
tree | bf95316c3de33b26493c460bd69e9144947c0e4f /Documentation/RCU | |
parent | documentation: memory-barriers: Fix smp_mb__before_spinlock() semantics (diff) | |
download | linux-ee7c29be3695996536395f647e8a2ed6b1ab3a0d.tar.xz linux-ee7c29be3695996536395f647e8a2ed6b1ab3a0d.zip |
documentation: Update rcu_dereference.txt based on WG21 discussions
This commit provides another caveat for the care and feeding of pointers
returned by rcu_dereference() that was pointed out in discussions within
the C++ standards committee.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Diffstat (limited to 'Documentation/RCU')
-rw-r--r-- | Documentation/RCU/rcu_dereference.txt | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Documentation/RCU/rcu_dereference.txt b/Documentation/RCU/rcu_dereference.txt index ceb05da5a5ac..2d05c9241a33 100644 --- a/Documentation/RCU/rcu_dereference.txt +++ b/Documentation/RCU/rcu_dereference.txt @@ -193,6 +193,11 @@ o Be very careful about comparing pointers obtained from pointer. Note that the volatile cast in rcu_dereference() will normally prevent the compiler from knowing too much. + However, please note that if the compiler knows that the + pointer takes on only one of two values, a not-equal + comparison will provide exactly the information that the + compiler needs to deduce the value of the pointer. + o Disable any value-speculation optimizations that your compiler might provide, especially if you are making use of feedback-based optimizations that take data collected from prior runs. Such |