On Fri, Apr 05, 2019 at 07:29:14AM +1100, Tobin C. Harding wrote: > > __d_alloc() is not holding ->d_lock, since the object is not visible to > > anybody else yet; with your changes it *is* visible. > > I don't quite understand this comment. How is the object visible? The > constructor is only called when allocating a new page to the slab and > this is done with interrupts disabled. Not to constructor, to your try-to-evict code...