On Tue, Mar 15, 2022 at 10:57:20PM -0500, Bob Pearson wrote: > On 3/15/22 19:17, Jason Gunthorpe wrote: > > On Thu, Mar 03, 2022 at 06:08:07PM -0600, Bob Pearson wrote: > >> Reference counting for object deletion can cause an object to > >> wait for something else to happen before an object gets deleted. > >> The destroy verbs can then return to rdma-core with the object still > >> holding references. Adding wait_for_completion in this path > >> prevents this. > > > > Maybe call this rxe_pool_destroy() or something instead of wait > > > > wait doesn't really convay to the reader tha the memory is free after > > it returns > > > > Jason > > which is correct because except for MRs which are freed in completion code > all the other objects are just passed back to rdma-core which will free them > in its own good time. If you do as I suggested to put the xa_erase in the rxe_wait then it is much closer to destroy. Perhaps 'unadd' or 'isolate' ? Jason