[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Sun, 3 Apr 2016 23:32:42 -0700
From: Davidlohr Bueso <dave@...olabs.net>
To: tglx@...utronix.de, mingo@...nel.org
Cc: peterz@...radead.org, bigeasy@...utronix.de,
umgwanakikbuti@...il.com, paulmck@...ux.vnet.ibm.com,
dave@...olabs.net, linux-kernel@...r.kernel.org
Subject: [PATCH -tip v2 0/4] rtmutex: Another crack at spin on owner
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
Powered by blists - more mailing lists