[openib-general] [PATCH] for 2-6-19 rdma/addr: use client registration to fix module unload race
Michael S. Tsirkin
mst at mellanox.co.il
Thu Nov 2 10:22:07 PST 2006
Quoting r. Sean Hefty <mshefty at ichips.intel.com>:
> I use the callback method of destruction for new cm_id's in the ucm and ucma
> modules, so I want to keep this feature myself. However, this method is
> unused, and likely unneeded, for events other than connection requests. If
> this is the case, we can update the documentation, and remove this support
> except for new connections.
>
I rethought the issue, and I don't think its a good assumption to make.
Let's stick to the old API.
For example, SDP uses the callback destrouction capability for all IDs. For
example, if on the active side I get a reject, it is much nicer to get the id
cleaned up immediately since I have no reason to keep it around, and because I
want to put the socket back in the same state it was in before connect ( that is
without connection id), so new connect request will restart everything.
Otherwise it is quite awkward, I'm just wasting memory, and applications
actually *do* keep a huge number of inactive sockets around.
I expect we'll want something like this for IPoIB connected mode too -
keeping idle IDs and queueing work requests would be quite awkward I think.
Adding registration at module start/stop seems simple enough and overhead is
minimal. We already have this for other modules (e.g. ib_sa). I don't really
unerstand why is there such a resistance to this simple fix for unload race?
--
MST
More information about the general
mailing list