Re: [RFC][PATCH 8/8] rtmutex: Fix PI chain order integrity
From: Thomas Gleixner
Date: Mon Jun 27 2016 - 08:42:22 EST
On Mon, 27 Jun 2016, 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-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>