1. 04 10月, 2006 2 次提交
  2. 15 7月, 2006 1 次提交
  3. 01 7月, 2006 1 次提交
  4. 26 6月, 2006 2 次提交
  5. 11 6月, 2006 1 次提交
    • D
      [PATCH] Further alterations for memory barrier document · 670bd95e
      David Howells 提交于
      From: David Howells <dhowells@redhat.com>
      
      Apply some alterations to the memory barrier document that I worked out
      with Paul McKenney of IBM, plus some of the alterations suggested by Alan
      Stern.
      
      The following changes were made:
      
       (*) One of the examples given for what can happen with overlapping memory
           barriers was wrong.
      
       (*) The description of general memory barriers said that a general barrier is
           a combination of a read barrier and a write barrier.  This isn't entirely
           true: it implies both, but is more than a combination of both.
      
       (*) The first example in the "SMP Barrier Pairing" section was wrong: the
           loads around the read barrier need to touch the memory locations in the
           opposite order to the stores around the write barrier.
      
       (*) Added a note to make explicit that the loads should be in reverse order to
           the stores.
      
       (*) Adjusted the diagrams in the "Examples Of Memory Barrier Sequences"
           section to make them clearer.  Added a couple of diagrams to make it more
           clear as to how it could go wrong without the barrier.
      
       (*) Added a section on memory speculation.
      
       (*) Dropped any references to memory allocation routines doing memory
           barriers.  They may do sometimes, but it can't be relied on.  This may be
           worthy of further documentation later.
      
       (*) Made the fact that a LOCK followed by an UNLOCK should not be considered a
           full memory barrier more explicit and gave an example.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NPaul E. McKenney <paulmck@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      670bd95e
  6. 16 5月, 2006 1 次提交
  7. 11 4月, 2006 2 次提交
  8. 01 4月, 2006 1 次提交
    • D
      [PATCH] Document Linux's memory barriers [try #7] · 108b42b4
      David Howells 提交于
      The attached patch documents the Linux kernel's memory barriers.
      
      I've updated it from the comments I've been given.
      
      The per-arch notes sections are gone because it's clear that there are so many
      exceptions, that it's not worth having them.
      
      I've added a list of references to other documents.
      
      I've tried to get rid of the concept of memory accesses appearing on the bus;
      what matters is apparent behaviour with respect to other observers in the
      system.
      
      Interrupts barrier effects are now considered to be non-existent. They may be
      there, but you may not rely on them.
      
      I've added a couple of definition sections at the top of the document: one to
      specify the minimum execution model that may be assumed, the other to specify
      what this document refers to by the term "memory".
      
      I've made greater mention of the use of mmiowb().
      
      I've adjusted the way in which caches are described, and described the fun
      that can be had with cache coherence maintenance being unordered and data
      dependency not being necessarily implicit.
      
      I've described (smp_)read_barrier_depends().
      
      I've rearranged the order of the sections, so that memory barriers are
      discussed in abstract first, and then described the memory barrier facilities
      available on Linux, before going on to more real-world discussions and examples.
      
      I've added information about the lack of memory barriering effects with atomic
      ops and bitops.
      
      I've added information about control dependencies.
      
      I've added more diagrams to illustrate caching interactions between CPUs.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      108b42b4