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

From: Matthew Wilcox
Date: Sat Aug 10 2019 - 21:22:50 EST


On Sat, Aug 10, 2019 at 01:18:34AM -0700, Christoph Hellwig wrote:
> On Thu, Aug 08, 2019 at 09:54:03AM +0200, Thomas Gleixner wrote:
> > > I know. But the problem here is that normally PG_locked is used together
> > > with wait_on_page_bit_*, but this one instances uses the bit spinlock
> > > helpers. This is the equivalent of calling spin_lock on a struct mutex
> > > rather than having a mutex_lock_spin helper for this case.
> >
> > Yes, I know :(
>
> But this means we should exclude slub from the bit_spin_lock removal.
> It really should use it's own version of it anyhow insted of pretending
> that the page lock is a bit spinlock.

But PG_locked isn't used as a mutex _when the page is allocated by slab_.
Yes, every other user uses PG_locked as a mutex, but I don't see why that
should constrain slub's usage of PG_locked.