On Tue, Dec 07, 2021 at 02:45:49PM +0100, Peter Zijlstra wrote: > > What would be much nicer, is to look at all the threads on the waitq > > and pick one that previously ran on the current CPU if there's one. > > Could this be implemented? > > It would violate the FIFO semantics of _exclusive. That said, look at kernel/locking/percpu-rwsem.c:percpu_rwsem_wake_function() for how to do really terrible things with waitqueues, possibly including what you suggest.