Thread (32 messages) 32 messages, 4 authors, 2017-06-26

Re: [patch-rt v2] rtmutex: Fix lock stealing logic

From: Steven Rostedt <rostedt@goodmis.org>
Date: 2017-06-23 14:15:00
Also in: lkml

On Fri, 23 Jun 2017 16:07:19 +0200
Mike Galbraith [off-list ref] wrote:
On Fri, 2017-06-23 at 09:33 -0400, Steven Rostedt wrote:
quoted
 				  struct task_struct *task,  
quoted
@@ -886,20 +901,16 @@ static int __try_to_take_rt_mutex(struct
 	 */
 	if (waiter) {
 		/*
-		 * If waiter is not the highest priority waiter of
-		 * @lock, give up.
+		 * If waiter is not the highest priority waiter of @lock,
+		 * or its peer when lateral steal is allowed, give up.
 		 */
-		if (waiter != rt_mutex_top_waiter(lock)) {
-			/* XXX rt_mutex_waiter_less() ? */
+		if (!rt_mutex_steal(lock, waiter, mode))
 			return 0;
-		}
-
 		/*
 		 * We can acquire the lock. Remove the waiter from the
 		 * lock waiters tree.
 		 */
 		rt_mutex_dequeue(lock, waiter);
-  
I liked that space.  
I like minus signs in diffstat, that one was a freebee.  Maintainers
can revive it if they like, or I can post a V3 with it revived as well
as s/rt_mutex_steal/rt_mutex_claim.
It's not bigly to me.

-- Steve
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help