Re: [PATCH 2/3] rtmutex: deboost priority conditionally when rt-mutex unlock

From: Peter Zijlstra
Date: Thu Apr 13 2017 - 12:51:54 EST


On Thu, Apr 13, 2017 at 12:40:14PM -0400, Steven Rostedt wrote:
> On Thu, 13 Apr 2017 18:21:13 +0200
> Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> > On Thu, Apr 13, 2017 at 12:09:25PM -0400, Steven Rostedt wrote:
> > > On Thu, 13 Apr 2017 16:39:52 +0200
> > > Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > >
> > > > On Thu, Apr 13, 2017 at 10:02:53PM +0800, Alex Shi wrote:
> > > > > /*
> > > > > + * 'current' release this lock, so 'current' should be a higher prio
> > > > > + * task than the next top waiter, unless the current prio was gotten
> > > > > + * from this top waiter, iff so, we need to deboost 'current' after
> > > > > + * the lock release.
> > > > > + */
> > > > > + if (current->prio == waiter->prio)
> > > > > + deboost = true;
> > > >
> > > > This is wrong.
> > >
> > > The comment is, especially that "iff". What if current and waiter
> > > happen to have the same priority? Then it too doesn't need to be
> > > deboosted.
> >
> > The wrongness is in comparing prio and thinking it means anything.
>
> Because of deadline scheduling?

Yep.