On Thu, Feb 06, 2025 at 02:54:17AM -0800, Kumar Kartikeya Dwivedi wrote: > Implement the wait queue cleanup algorithm for rqspinlock. There are > three forms of waiters in the original queued spin lock algorithm. The > first is the waiter which acquires the pending bit and spins on the lock > word without forming a wait queue. The second is the head waiter that is > the first waiter heading the wait queue. The third form is of all the > non-head waiters queued behind the head, waiting to be signalled through > their MCS node to overtake the responsibility of the head. > > In this commit, we are concerned with the second and third kind. First, > we augment the waiting loop of the head of the wait queue with a > timeout. When this timeout happens, all waiters part of the wait queue > will abort their lock acquisition attempts. Why? Why terminate the whole wait-queue? I *think* I understand, but it would be good to spell out. Also, in the comment.