On Fri, Nov 30, 2018 at 01:16:46PM +0200, Leon Romanovsky wrote: > From: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > >From Parav: > > In some applications which create large number of MRs in range of 500K > or more, when application terminates due to segmentation fault or it was > killed, it takes relatively long time to terminate such application, > as all RDMA resources are destructed in single threaded manner in > kernel. This affects the application/service restart time. Parallel > destruction in kernel was considered but its relatively complex > operation with regards to locking and dependency of a resource on other > resources in uverbs layer. > > Therefore, to facilitate a user space program which can implement a > child/buddy process who can free up resources using threads in parallel, > provide basic infrastructure APIs to query and destroy the resources. > > 1. API to query a resource based on object type such as MR, QP, PD etc. > 2. ioctl() to destroy an MR, PD, FLOW, AH, XRCD, RWQ_IND_TBL and MW > (Resources which doesn't require a response during destroy operation) > > Thanks > > Jason Gunthorpe (1): > RDMA/uverbs: Add a method to introspect handles in a context > > Parav Pandit (1): > RDMA/uverbs: Add an ioctl method to destroy an object Applied to for-next, I fixed the merging conflicts. Thanks, Jason