One of the variables is only loaded from, and the other
is only stored to.
Because (once again, ignoring MMIO registers) it is not
possible for one load to see the results of the other,
it is not possible to detect the conditional ordering
provided by the memory barrier.
(Yes, it is possible to determine which store happened
last, but this does not depend on the memory barrier.)
Paul E. McKenney
2011-12-16