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:2.717 / U:0.284 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site