summaryrefslogtreecommitdiffstats
path: root/Documentation/RCU/index.rst
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@kernel.org>2022-09-08 05:48:01 -0700
committerPaul E. McKenney <paulmck@kernel.org>2022-10-18 14:58:50 -0700
commitef2555cf68c395cbdb8ec051dbdd6a68208f3a81 (patch)
tree741e5ecfa759e73459f9418c882cfaa45d22c9bc /Documentation/RCU/index.rst
parent9abf2313adc1ca1b6180c508c25f22f9395cc780 (diff)
downloadlinux-ef2555cf68c395cbdb8ec051dbdd6a68208f3a81.tar.bz2
doc: Remove arrayRCU.rst
Although RCU can in theory be used to protect array indexes in a manner similar to the way it protects pointers, doing so is extremely risky because of the huge number of optimizations that modern compilers can apply to integral types. For but one example, if your code can be configured such that your array contains only a single element, then indexing that array with any integer other than zero invokes undefined behavior, which in turn means that the compiler is within its rights to assume (without checking!) that any integer used as an index to that array has the value zero. Therefore, the compiler can index the array with the constant zero, which breaks any dependencies that might have otherwise existed between the time the actual value was loaded and the time that the array was indexed. This commit therefore removes the arrayRCU.rst file that describes how to go about carrying dependencies through array indexes. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'Documentation/RCU/index.rst')
-rw-r--r--Documentation/RCU/index.rst1
1 files changed, 0 insertions, 1 deletions
diff --git a/Documentation/RCU/index.rst b/Documentation/RCU/index.rst
index e703d3dbe60c..84a79903f6a8 100644
--- a/Documentation/RCU/index.rst
+++ b/Documentation/RCU/index.rst
@@ -9,7 +9,6 @@ RCU concepts
.. toctree::
:maxdepth: 3
- arrayRCU
checklist
lockdep
lockdep-splat