Note relation between memory_order_consume and rcu_dereference()

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
diff --git a/defer/rcufundamental.tex b/defer/rcufundamental.tex
index 5116e0d..b8f7b9b 100644
--- a/defer/rcufundamental.tex
+++ b/defer/rcufundamental.tex
@@ -165,7 +165,15 @@
 part of both the compiler and the CPU.
 The \co{rcu_dereference()} primitive uses
 whatever memory-barrier instructions and compiler
-directives are required for this purpose:
+directives are required for this purpose:\footnote{
+	In the Linux kernel, \co{rcu_dereference()} is implemented via
+	a volatile cast, and, on DEC Alpha, a memory barrier instruction.
+	In the C11 and C++11 standards, \co{memory_order_consume}
+	is intended to provide longer-term support for \co{rcu_dereference()},
+	but no compilers implement this natively yet.
+	(They instead strengthen \co{memory_order_consume} to
+	\co{memory_order_acquire}, thus emitting a needless memory-barrier
+	instruction on weakly ordered systems.)}
 
 \vspace{5pt}
 \begin{minipage}[t]{\columnwidth}