doc: Remove arrayRCU.rst
authorPaul E. McKenney <paulmck@kernel.org>
Thu, 8 Sep 2022 12:48:01 +0000 (05:48 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Tue, 18 Oct 2022 21:58:50 +0000 (14:58 -0700)
commitef2555cf68c395cbdb8ec051dbdd6a68208f3a81
tree741e5ecfa759e73459f9418c882cfaa45d22c9bc
parent9abf2313adc1ca1b6180c508c25f22f9395cc780
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>
Documentation/RCU/arrayRCU.rst [deleted file]
Documentation/RCU/index.rst