lkml.org 
[lkml]   [2013]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[PATCH v4 tip/core/locking 0/4] 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.

4. Document what ACCESS_ONCE() does along with a number of situations
requiring its use.

Changes from v3:

o Fix typos noted by Peter Zijlstra.

o Added the documentation about ACCESS_ONCE(), which expands on
http://thread.gmane.org/gmane.linux.kernel.mm/82891/focus=14696,
ably summarized by Jon Corbet at http://lwn.net/Articles/508991/.

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


b/Documentation/memory-barriers.txt | 666 ++++++++++++++++++++++++++++--------
1 file changed, 533 insertions(+), 133 deletions(-)



\
 
 \ /
  Last update: 2013-12-05 00:01    [W:0.202 / U:0.480 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site