[ofa-general] librdmacm feature request
Sean Hefty
mshefty at ichips.intel.com
Wed Nov 7 11:30:45 PST 2007
> Hmm, how do you move events? Keep in mind that there may be an
> arbitrary number of pending events that belong to other cm_ids that
> are queued before the events you want to move. And you can't really
> do anything too funky with the event channel fd, because you don't
> want to mess up some other thread that might be waiting for events in
> poll() or whatever.
After spending some time looking into this, I'm not seeing an easy way
to move events between fd's or guarantee that a user has permission to
transfer a cm_id to a new fd. The modify requires access to two fd's,
but only one is available in the write... Anyone have any ideas?
Assuming that there is a solution for these issues, we already track the
number of events reported for a given cm_id, in order to handle
destruction. We _might_ be able to use this same mechanism to avoid
races reporting events on the old channel after rdma_modify_channel()
returned. (I'm not entirely sure on this; there are several race
conditions to handle.)
- Sean
More information about the general
mailing list