On Mon, 5 Aug 2019, Christoph Hellwig wrote: > On Fri, Aug 02, 2019 at 11:07:53AM +0200, Thomas Gleixner wrote: > > Last time I did, there was resistance :) > > Do you have a pointer? Note that in the buffer head case maybe > a hash lock based on the page address is even better, as we only > ever use the lock in the first buffer head of a page anyway.. I need to search my archives, but I'm on a spotty and slow connection right now. Will do so when back home. > > What about the page lock? > > > > mm/slub.c: bit_spin_lock(PG_locked, &page->flags); > > One caller ouf of a gazillion that spins on the page lock instead of > sleepign on it like everyone else. That should not have passed your > smell test to start with :) I surely stared at it, but that cannot sleep. It's in the middle of a preempt and interrupt disabled region and used on architectures which do not support CMPXCHG_DOUBLE and ALIGNED_STRUCT_PAGE ... Thanks, tglx