• Linus Torvalds's avatar
    Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 24af98c4
    Linus Torvalds authored
    Pull locking updates from Ingo Molnar:
     "So we have a laundry list of locking subsystem changes:
    
       - continuing barrier API and code improvements
    
       - futex enhancements
    
       - atomics API improvements
    
       - pvqspinlock enhancements: in particular lock stealing and adaptive
         spinning
    
       - qspinlock micro-enhancements"
    
    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op
      futex: Cleanup the goto confusion in requeue_pi()
      futex: Remove pointless put_pi_state calls in requeue()
      futex: Document pi_state refcounting in requeue code
      futex: Rename free_pi_state() to put_pi_state()
      futex: Drop refcount if requeue_pi() acquired the rtmutex
      locking/barriers, arch: Remove ambiguous statement in the smp_store_mb() documentation
      lcoking/barriers, arch: Use smp barriers in smp_store_release()
      locking/cmpxchg, arch: Remove tas() definitions
      locking/pvqspinlock: Queue node adaptive spinning
      locking/pvqspinlock: Allow limited lock stealing
      locking/pvqspinlock: Collect slowpath lock statistics
      sched/core, locking: Document Program-Order guarantees
      locking, sched: Introduce smp_cond_acquire() and use it
      locking/pvqspinlock, x86: Optimize the PV unlock code path
      locking/qspinlock: Avoid redundant read of next pointer
      locking/qspinlock: Prefetch the next node cacheline
      locking/qspinlock: Use _acquire/_release() versions of cmpxchg() & xchg()
      atomics: Add test for atomic operations with _relaxed variants
    24af98c4
core.c 209 KB