Re: [PATCH] sched/rt: Fix double enqueue caused by rt_effective_prio

From: Peter Zijlstra
Date: Thu Jul 08 2021 - 07:36:23 EST


On Thu, Jul 01, 2021 at 11:14:31AM +0200, Juri Lelli wrote:
> Looks like this survives the test case (and regression testing), but I'm
> still not fully convinced that the above statement "Concurrent priority
> inheritance handling is still safe and will eventually converge to a new
> state by following the inheritance chain(s)" is actually sound.

I think we good there. rt_mutex_adjust_prio_chain() updates ->prio in
step 7 and calls rt_mutex_setprio() in step 11.

So if we race against __sched_setschedule() and observe the old value,
step 11 will follow up and correct us.