On Sat, Mar 21, 2020 at 11:26:06AM +0100, Thomas Gleixner wrote: > "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! NP, and glad you like it! But I felt even more stupid sometime in the middle of the night. Why on earth didn't I work in your nice examples? :-/ I will pull them in later. Time to go hike!!! Thanx, Paul