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
_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to