All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.