[openib-general] [PATCH] hotplug support: selective removal notification

Sean Hefty mshefty at ichips.intel.com
Wed Aug 31 13:30:00 PDT 2005


Michael S. Tsirkin wrote:
> Hi!
> As Sean pointed out, in the existing client registration
> the client gets removal events even from devices which it
> may not be interested in.

I was actually trying to point out that a remove event may occur before a client 
receives a device pointer from another call.

> As a way of solving this, I propose the following patch.
> The idea is that instead of setting client context separately
> with ib_set_client_data, client's add method will return
> ib_client_data object which is then kept in a per-device list.
> Returning NULL signals that the client will not be interested
> in this device.

I don't think that this solves the race condition that can occur between 
receiving a remove device event and a call, such as ib_cma_get_device(), 
returning a pointer to that same device.

There should be no restriction on what a client can use for their context.

> In this way most ulps can now use container_of to get their
> context in the remove method, instead of scanning the client list
> each time, which in my opinion is very nice.

This seems to be a somewhat separate issue.  We should be able to return a 
client's context with a remove event without changing the add event handling. 
It seems that clients should be able to read their own context and determine how 
to handle the remove event.

- Sean



More information about the general mailing list