On 07/17/2014 12:55 PM, Steve Wise wrote: > > >> -----Original Message----- >> From: Hefty, Sean [mailto:sean.he...@intel.com] >> Sent: Thursday, July 17, 2014 2:50 PM >> To: Steve Wise; 'Shirley Ma'; 'Devesh Sharma'; 'Roland Dreier' >> Cc: linux-rdma@vger.kernel.org; chuck.le...@oracle.com >> Subject: RE: [for-next 1/2] xprtrdma: take reference of rdma provider module >> >>>> So the rdma cm is expected to increase the driver reference count >>> (try_module_get) for >>>> each new cm id, then deference count (module_put) when cm id is >>> destroyed? >>>> >>> >>> No, I think he's saying the rdma-cm posts a RDMA_CM_DEVICE_REMOVAL event >>> to each >>> application with rdmacm objects allocated, and each application is expected >>> to destroy all >>> the objects it has allocated before returning from the event handler. >> >> This is almost correct. The applications do not have to destroy all the >> objects that it > has >> allocated before returning from their event handler. E.g. an app can queue >> a work item >> that does the destruction. The rdmacm will block in its ib_client remove >> handler until > all >> relevant rdma_cm_id's have been destroyed. >> > > Thanks for the clarification.
Thanks, checked the cma code, the reference count maintains there. >>> And I think the ib_verbs core calls each ib_client's remove handler when an >>> rdma provider >>> unregisters with the core. >> >> yes > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html