Linus Torvalds 6cdf89b1ca Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking updates from Ingo Molnar:
 "The tree got pretty big in this development cycle, but the net effect
  is pretty good:

    115 files changed, 673 insertions(+), 1522 deletions(-)

  The main changes were:

   - Rework and generalize the mutex code to remove per arch mutex
     primitives. (Peter Zijlstra)

   - Add vCPU preemption support: add an interface to query the
     preemption status of vCPUs and use it in locking primitives - this
     optimizes paravirt performance. (Pan Xinhui, Juergen Gross,
     Christian Borntraeger)

   - Introduce cpu_relax_yield() and remov cpu_relax_lowlatency() to
     clean up and improve the s390 lock yielding machinery and its core
     kernel impact. (Christian Borntraeger)

   - Micro-optimize mutexes some more. (Waiman Long)

   - Reluctantly add the to-be-deprecated mutex_trylock_recursive()
     interface on a temporary basis, to give the DRM code more time to
     get rid of its locking hacks. Any other users will be NAK-ed on
     sight. (We turned off the deprecation warning for the time being to
     not pollute the build log.) (Peter Zijlstra)

   - Improve the rtmutex code a bit, in light of recent long lived
     bugs/races. (Thomas Gleixner)

   - Misc fixes, cleanups"

* 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
  x86/paravirt: Fix bool return type for PVOP_CALL()
  x86/paravirt: Fix native_patch()
  locking/ww_mutex: Use relaxed atomics
  locking/rtmutex: Explain locking rules for rt_mutex_proxy_unlock()/init_proxy_locked()
  locking/rtmutex: Get rid of RT_MUTEX_OWNER_MASKALL
  x86/paravirt: Optimize native pv_lock_ops.vcpu_is_preempted()
  locking/mutex: Break out of expensive busy-loop on {mutex,rwsem}_spin_on_owner() when owner vCPU is preempted
  locking/osq: Break out of spin-wait busy waiting loop for a preempted vCPU in osq_lock()
  Documentation/virtual/kvm: Support the vCPU preemption check
  x86/xen: Support the vCPU preemption check
  x86/kvm: Support the vCPU preemption check
  x86/kvm: Support the vCPU preemption check
  kvm: Introduce kvm_write_guest_offset_cached()
  locking/core, x86/paravirt: Implement vcpu_is_preempted(cpu) for KVM and Xen guests
  locking/spinlocks, s390: Implement vcpu_is_preempted(cpu)
  locking/core, powerpc: Implement vcpu_is_preempted(cpu)
  sched/core: Introduce the vcpu_is_preempted(cpu) interface
  sched/wake_q: Rename WAKE_Q to DEFINE_WAKE_Q
  locking/core: Provide common cpu_relax_yield() definition
  locking/mutex: Don't mark mutex_trylock_recursive() as deprecated, temporarily
  ...
2016-12-12 10:48:02 -08:00
..
2014-04-18 14:20:37 +02:00
2011-12-10 19:52:48 +01:00
2011-03-31 11:26:23 -03:00
2015-05-13 10:55:42 +02:00
2016-10-30 10:13:55 +01:00
2013-08-14 11:46:30 +02:00
2016-07-03 14:05:28 +02:00
2013-02-26 02:46:08 -05:00
2016-08-07 23:47:19 -04:00
2013-09-26 09:54:16 +02:00
2013-11-13 20:21:46 +01:00
2016-05-28 15:48:57 -04:00
2015-08-25 09:59:19 +02:00
2016-10-25 11:31:51 +02:00
2013-12-08 11:01:47 +01:00
2015-09-28 09:59:45 +02:00
2014-09-29 09:56:19 +10:00
2016-07-03 14:05:28 +02:00
2016-02-29 09:51:44 +01:00
2011-12-10 19:52:47 +01:00
2015-11-23 09:58:30 +01:00
2011-12-10 19:52:47 +01:00
2016-02-29 09:51:44 +01:00
2015-03-15 10:23:30 +01:00
2016-02-29 09:51:44 +01:00
2011-03-16 19:10:41 +01:00
2016-07-03 14:05:28 +02:00
2015-01-13 15:24:03 +02:00
2014-06-06 16:08:11 -07:00
2012-03-28 18:30:02 +01:00
2015-01-13 15:23:28 +02:00
2016-09-27 21:15:14 -04:00
2016-04-07 11:44:44 +02:00
2012-04-22 20:16:50 +02:00