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.