Re: [RFC][PATCH 8/8] rtmutex: Fix PI chain order integrity

From: Juri Lelli
Date: Tue Jun 28 2016 - 05:05:46 EST


On 27/06/16 14:23, Peter Zijlstra wrote:
> On Wed, Jun 15, 2016 at 08:25:07AM +0100, Juri Lelli wrote:
> > I guess it's not that likely, but yes it could potentially happen that a
> > waiter is optimistically spinning, depletes its runtime, gets throttled
> > and then replenished when still spinning. Maybe it doesn't really make
> > sense continuing spinning in this situation, but I guess things get
> > really complicated. :-/
> >
> > Anyway, as said, I think this patch is OK. Maybe we want to add a
> > comment just to remember what situation can cause an issue if we don't
> > do this? Patch changelog would be OK as well for such a comment IMHO.
>
>
> OK, so I went to write a simple comment and ended up with the below :/
>
> While writing the comment I noticed two issues:
>
> - we update the waiter order fields while the entry is still enqueued
> on the pi_waiters tree, which is also sorted by these exact fields.
>
> - another one of these pure ->prio comparisons
>
> Please double check, there be dragons here.
>

Reviewed-and-tested-by: Juri Lelli <juri.lelli@xxxxxxx>

And, FWIW, you can obviously keep this if you are going to squash this
into 8/8.

Best,

- Juri