The C11/C++11 memory model formalized what Linux's own memory-barrier documentation (Documentation/memory-barriers.txt) had been explaining informally for years, and Linux's RCU and seqlock primitives depend on precisely this acquire/release reasoning to publish data safely across CPUs without a lock. Getting it wrong is invisible on x86 in testing but produces real, hard-to-reproduce corruption on ARM's weaker memory model, which is why ThreadSanitizer exists.