public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH -tip v2 1/7] locking/mutex: Standardize arguments in lock/unlock slowpaths
@ 2014-07-30 20:41 Davidlohr Bueso
  2014-07-30 20:41 ` [PATCH -tip v2 2/7] locking/mutex: Document quick lock release when unlocking Davidlohr Bueso
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Davidlohr Bueso @ 2014-07-30 20:41 UTC (permalink / raw)
  To: peterz, mingo; +Cc: jason.low2, davidlohr, aswin, linux-kernel

Just how the locking-end behaves, when unlocking, go ahead and
obtain the proper data structure immediately after the previous
(asm-end) call exits and there are (probably) pending waiters.
This simplifies a bit some of the layering.

Signed-off-by: Davidlohr Bueso <davidlohr@hp.com>
---
 kernel/locking/mutex.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/kernel/locking/mutex.c b/kernel/locking/mutex.c
index ae712b2..ad0e333 100644
--- a/kernel/locking/mutex.c
+++ b/kernel/locking/mutex.c
@@ -679,9 +679,8 @@ EXPORT_SYMBOL_GPL(__ww_mutex_lock_interruptible);
  * Release the lock, slowpath:
  */
 static inline void
-__mutex_unlock_common_slowpath(atomic_t *lock_count, int nested)
+__mutex_unlock_common_slowpath(struct mutex *lock, int nested)
 {
-	struct mutex *lock = container_of(lock_count, struct mutex, count);
 	unsigned long flags;
 
 	/*
@@ -716,7 +715,9 @@ __mutex_unlock_common_slowpath(atomic_t *lock_count, int nested)
 __visible void
 __mutex_unlock_slowpath(atomic_t *lock_count)
 {
-	__mutex_unlock_common_slowpath(lock_count, 1);
+	struct mutex *lock = container_of(lock_count, struct mutex, count);
+
+	__mutex_unlock_common_slowpath(lock, 1);
 }
 
 #ifndef CONFIG_DEBUG_LOCK_ALLOC
-- 
1.8.1.4


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

end of thread, other threads:[~2014-08-13 10:57 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-30 20:41 [PATCH -tip v2 1/7] locking/mutex: Standardize arguments in lock/unlock slowpaths Davidlohr Bueso
2014-07-30 20:41 ` [PATCH -tip v2 2/7] locking/mutex: Document quick lock release when unlocking Davidlohr Bueso
2014-08-13 10:55   ` [tip:locking/core] locking/mutexes: " tip-bot for Davidlohr Bueso
2014-07-30 20:41 ` [PATCH -tip v2 3/7] locking/mcs: Remove obsolete comment Davidlohr Bueso
2014-08-13 10:55   ` [tip:locking/core] " tip-bot for Davidlohr Bueso
2014-07-30 20:41 ` [PATCH -tip v2 4/7] locking/mutex: Refactor optimistic spinning code Davidlohr Bueso
2014-07-31  0:56   ` Jason Low
2014-08-13 10:55   ` [tip:locking/core] locking/mutexes: " tip-bot for Davidlohr Bueso
2014-07-30 20:41 ` [PATCH -tip v2 5/7] locking/mutex: Use MUTEX_SPIN_ON_OWNER when appropriate Davidlohr Bueso
2014-08-13 10:55   ` [tip:locking/core] locking/mutexes: " tip-bot for Davidlohr Bueso
2014-07-30 20:41 ` [PATCH -tip v2 6/7] locking: Move docs into Documentation/locking/ Davidlohr Bueso
2014-07-30 21:02   ` Randy Dunlap
2014-07-31  6:53     ` Peter Zijlstra
2014-08-13 10:56   ` [tip:locking/core] locking/Documentation: Move locking related " tip-bot for Davidlohr Bueso
2014-07-30 20:41 ` [PATCH -tip v2 7/7] Documentation: Update locking/mutex-design.txt disadvantages Davidlohr Bueso
2014-08-13 10:56   ` [tip:locking/core] locking/Documentation: Update locking/ mutex-design.txt disadvantages tip-bot for Davidlohr Bueso
2014-08-13 10:54 ` [tip:locking/core] locking/mutexes: Standardize arguments in lock /unlock slowpaths tip-bot for Davidlohr Bueso

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