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 <t...@linutronix.de>