[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