rtmutex: Another crack at spin on owner
From: | Davidlohr Bueso <dave@stgolabs.net> | |
To: | tglx@linutronix.de, mingo@kernel.org | |
Subject: | [PATCH -tip v2 0/4] rtmutex: Another crack at spin on owner | |
Date: | Sun, 3 Apr 2016 23:32:42 -0700 | |
Message-ID: | <1459751566-31872-1-git-send-email-dave@stgolabs.net> | |
Cc: | peterz@infradead.org, bigeasy@linutronix.de, umgwanakikbuti@gmail.com, paulmck@linux.vnet.ibm.com, dave@stgolabs.net, linux-kernel@vger.kernel.org | |
Archive‑link: | Article |
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