Messages in this thread | | | Date | Fri, 22 Nov 2013 11:26:57 -0800 | From | "Paul E. McKenney" <> | Subject | [PATCH v3 tip/core/locking 0/3] Memory-barrier documentation updates |
| |
Hello!
This series applies some long-needed updates to memory-barriers.txt:
1. Add ACCESS_ONCE() calls where needed to ensure their inclusion in code copy-and-pasted from this file.
2. Add long atomic examples alongside the existing atomics.
3. Prohibit architectures supporting the Linux kernel from speculating stores.
Changes from v2:
o Update examples so that that load against which the subsequent store is to be ordered is part of the "if" condition.
o Add an example showing how the compiler can remove "if" conditions and how to prevent it from doing so.
o Add ACCESS_ONCE() to the compiler-barrier section.
o Add a sentence noting that transitivity requires smp_mb().
Changes from v1:
o Combined with Peter Zijlstra's speculative-store-prohibition patch.
o Added more pitfalls to avoid when prohibiting speculative stores, along with how to avoid them.
o Applied Josh Triplett's review comments.
Thanx, Paul
| |