[openib-general] RDMA Generic Connection Management
Sean Hefty
mshefty at ichips.intel.com
Wed Aug 31 11:11:40 PDT 2005
Roland Dreier wrote:
> This is the hard part: one CPU could start calling into a consumer
> with a valid device, but get delayed by an interrupt or something. In
> the meantime, another CPU could remove that device from the consumer,
> and then when the first notification finally arrives, it's no longer
> valid.
I understand. I don't know if there is (or should be) a common way to prevent this.
For the CM, I think that the problem goes away if the user explicitly binds a
cm_id to a specific device. The user then needs to destroy the cm_id before
returning from their remove device call.
I think sa_query can already handle these issues.
I don't have a good solution yet for calls like ib_cma_get_device(). Yet
another possibility is to have it return a device pointer in a callback. Then
it can synchronize with device removal internally.
- Sean
More information about the general
mailing list