Re: [PATCH v3 1/6] rtmutex: Deboost before waking up the top waiter

From: Thomas Gleixner
Date: Mon Apr 18 2016 - 05:04:03 EST


On Mon, 18 Apr 2016, Xunlei Pang wrote:
> On 2016/04/18 at 16:23, Thomas Gleixner wrote:
> > On Thu, 14 Apr 2016, Xunlei Pang wrote:
> >> We should deboost before waking the high-prio task such that
> >> we don't run two tasks with the 'same' priority.
> > No. This is fundamentaly broken.
> >
> > T1 (prio 0) lock(X)
> >
> > --> preemption
> >
> > T2 (prio 10) lock(X)
> > boost(T1)
> > schedule()
> >
> > T1 (prio 10) unlock(X)
>
> We add a preempt_disable() before deboost to avoid the breakage,
> there's also some comment about this in the patch's code.

So the changelog is useless and misleading. Neither does it explain what's
wrong with having two tasks with the same priority in running state.

Thanks,

tglx