[openib-general] Re: [RFC] change to ib_create_cm_id()
Sean Hefty
mshefty at ichips.intel.com
Thu Sep 1 09:27:11 PDT 2005
Michael S. Tsirkin wrote:
>>This will bind all cm_id's to a specific device, including cm_id's
>>associated with listens. This will help prevent the CM from returning a
>>cm_id associated with a device that a consumer may have already seen as
>>removed.
>
> Looking at the API, cm_ids are not currently associated with a specific device.
> What am I missing?
The proposal is to change the cm_id's so that they become associated with a
specific device. Currently, they are not visibly associated with a device.
> So, I gather a ULP would need a list of cm_ids per connection, scanning
> all of them on each cm operation, scanning and updating
> these lists in all listening connections on each hotplug event.
I'm not following you here. For active connections, clients already need to
create a QP that is associated with a device. This simply binds the cm_id to
that same device. On passive connection callbacks, the created cm_id would
likewise be associated with the same device.
> I wander whether cm can do the same thing internally, making the list
> part of the cm id object?
The intent is to make the associated between a cm_id and a device explicit. A
client would then be able to destroy all cm_id's associated with a device that
was being removed.
The change affects listeners the most. Instead of calling listen once, it would
need to be called once for each device. Since most clients have per device
context, the listen cm_id would need to move from a single global structure into
the per device structures maintained by the client.
- Sean
More information about the general
mailing list