Re: [patch V2 0/7] fs: Substitute bit-spinlocks for PREEMPT_RT and debugging

From: Thomas Gleixner
Date: Thu Aug 08 2019 - 03:03:42 EST


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