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 _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
