• L
    Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d63a9788
    Linus Torvalds 提交于
    Pull locking changes from Ingo Molnar:
     "The main changes in this cycle were:
    
       - More gradual enhancements to atomic ops: new atomic*_read_ctrl()
         ops, synchronize atomic_{read,set}() ordering requirements between
         architectures, add atomic_long_t bitops.  (Peter Zijlstra)
    
       - Add _{relaxed|acquire|release}() variants for inc/dec atomics and
         use them in various locking primitives: mutex, rtmutex, mcs, rwsem.
         This enables weakly ordered architectures (such as arm64) to make
         use of more locking related optimizations.  (Davidlohr Bueso)
    
       - Implement atomic[64]_{inc,dec}_relaxed() on ARM.  (Will Deacon)
    
       - Futex kernel data cache footprint micro-optimization.  (Rasmus
         Villemoes)
    
       - pvqspinlock runtime overhead micro-optimization.  (Waiman Long)
    
       - misc smaller fixlets"
    
    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      ARM, locking/atomics: Implement _relaxed variants of atomic[64]_{inc,dec}
      locking/rwsem: Use acquire/release semantics
      locking/mcs: Use acquire/release semantics
      locking/rtmutex: Use acquire/release semantics
      locking/mutex: Use acquire/release semantics
      locking/asm-generic: Add _{relaxed|acquire|release}() variants for inc/dec atomics
      atomic: Implement atomic_read_ctrl()
      atomic, arch: Audit atomic_{read,set}()
      atomic: Add atomic_long_t bitops
      futex: Force hot variables into a single cache line
      locking/pvqspinlock: Kick the PV CPU unconditionally when _Q_SLOW_VAL
      locking/osq: Relax atomic semantics
      locking/qrwlock: Rename ->lock to ->wait_lock
      locking/Documentation/lockstat: Fix typo - lokcing -> locking
      locking/atomics, cmpxchg: Privatize the inclusion of asm/cmpxchg.h
    d63a9788
memory-barriers.txt 109.0 KB