public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH -tip v2 0/4] rtmutex: Another crack at spin on owner
@ 2016-04-04  6:32 Davidlohr Bueso
  2016-04-04  6:32 ` [PATCH 1/4] rtmutex: Delete save_state member of struct rt_mutex Davidlohr Bueso
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Davidlohr Bueso @ 2016-04-04  6:32 UTC (permalink / raw)
  To: tglx, mingo; +Cc: peterz, bigeasy, umgwanakikbuti, paulmck, dave, linux-kernel

Changes from v1:
  - Dropped patch 4 that removed the barrier in the deadlock path.
  - Added patch 2 (trivial) to use poison.h defines.
  - sprinkled READ/WRITE_ONCE around lock->owner, even if updated
    inside the cr.  (peterz)
  - More testing time.

This is a followup to proposal sometime ago to add spin on owner to rtmutexes.
My first attempt was rather permissive in that I tried avoiding the pi
dance and let the lock be stolen. However, due to -rt constraints this
series only deals with top-waiter, based on what we do in the preempt
rt patchset.

First two patches are trivial and the whole patchset as survived a week
of locktorture+pi_stress pounding at the same time without anything
breaking. That said, I'm sure it needs more testing and eyeballs, these
paths make my head hurt.

Thanks!

Davidlohr Bueso (4):
  rtmutex: Delete save_state member of struct rt_mutex
  rtmutex: Use waiter debug init,free magic numbers
  rtmutex: Add rt_mutex_init_waiter helper
  rtmutex: Reduce top-waiter blocking on a lock

 include/linux/poison.h          |  4 +-
 include/linux/rtmutex.h         |  3 +-
 kernel/Kconfig.locks            |  4 ++
 kernel/futex.c                  |  5 +--
 kernel/locking/mutex-debug.c    |  4 +-
 kernel/locking/rtmutex-debug.c  |  4 +-
 kernel/locking/rtmutex.c        | 88 ++++++++++++++++++++++++++++++++++-------
 kernel/locking/rtmutex_common.h | 17 +++++++-
 8 files changed, 102 insertions(+), 27 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-04-28 17:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-04  6:32 [PATCH -tip v2 0/4] rtmutex: Another crack at spin on owner Davidlohr Bueso
2016-04-04  6:32 ` [PATCH 1/4] rtmutex: Delete save_state member of struct rt_mutex Davidlohr Bueso
2016-04-04  6:32 ` [PATCH 2/4] rtmutex: Use waiter debug init,free magic numbers Davidlohr Bueso
2016-04-04  6:32 ` [PATCH 3/4] rtmutex: Add rt_mutex_init_waiter helper Davidlohr Bueso
2016-04-04  6:32 ` [PATCH 4/4] rtmutex: Reduce top-waiter blocking on a lock Davidlohr Bueso
2016-04-28 17:34 ` [PATCH -tip v2 0/4] rtmutex: Another crack at spin on owner Davidlohr Bueso

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox