Re: [PATCH] sched/deadline/rtmutex: Fix a PI crash for deadline tasks
From: Steven Rostedt
Date: Fri Apr 08 2016 - 15:28:13 EST
On Fri, 8 Apr 2016 15:15:42 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> From what I understand, the slowfn() modifies the task pi_list (or
> rbtree, as it is today). As this is an unlock, the task being woken
> (the next one to grab the lock) is removed from the previous task's pi
> list.
>
> In rt_mutex_adjust_prio(current) I see it simply grabs current's
> pi_lock and calls __rt_mutex_adjust_prio(current). This calls
> rt_mutex_getprio(current) which returns current's normal prio if it
> doesn't have any pi waiters, or it looks at the top pi waiter on the
> tasks list and returns that. Which wouldn't be the task on wake_q,
> otherwise we wouldn't be deboosting in the first place.
>
OK, I now see that the your previous patch is changing what I'm looking
at :-) This is what happens when you go away and try to catch up on
email and not read the emails by threads. I see the
rt_mutex_adjust_prio() is being changed.
I'll go back and look at your previous patch (as I looked at that while
traveling and didn't think too hard about it).
-- Steve