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
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