On Wed, Apr 17, 2019 at 03:20:05AM -0300, Jason Gunthorpe wrote: > On Mon, Apr 15, 2019 at 08:52:52PM +0000, Ruhl, Michael J wrote: > > > We do need the reference count because the AH is used by the asynchronous > > send engine. > > Drivers cannot use refcounts to manage their object lifetimes. Destroy > must be synchronous. I admit that I'm not really following along but it seems wrong to tell drivers that they can't refcount their objects... One would think that a refcount of their objects is safer than some of the locking hoops we have seen... Do you mean they can't (don't need to) refcount objects which the core is responsible for like QP, AH, etc or all objects? Ira > > So if you have AH's in use by another thread it must sleep during > destroy.. > > > I am going to work up a patch to implement the SLEEPABLE path in our destroy > > to deal with this. > > I thought that was only for create? Did we get an expectation that > destroy is non-sleeping? I hope not.. > > Jason