"Paul E. McKenney" <paulmck@xxxxxxxxxx> writes: > On Fri, Mar 20, 2020 at 11:36:03PM +0100, Thomas Gleixner wrote: >> I agree that what I tried to express is hard to parse, but it's at least >> halfways correct :) > > Apologies! That is what I get for not looking it up in the source. :-/ > > OK, so I am stupid enough not only to get it wrong, but also to try again: > > ... Other types of wakeups would normally unconditionally set the > task state to RUNNING, but that does not work here because the task > must remain blocked until the lock becomes available. Therefore, > when a non-lock wakeup attempts to awaken a task blocked waiting > for a spinlock, it instead sets the saved state to RUNNING. Then, > when the lock acquisition completes, the lock wakeup sets the task > state to the saved state, in this case setting it to RUNNING. > > Is that better? Definitely! Thanks for all the editorial work! tglx