Hello,
I am looking at a very peculiar race condition and dont quite
understand why rdma cm
is generating a certain event.

The race is as follows.
Lets say Process P1 is connection to Process P2 (RC connection) using RDMA CM.
Also the connection is asynchronous, i.e the fd associated with the cm
event channel has been converted to non blocking.

Consider Time along the vertical access.

P1-> addr_resolve()
      select(cm_event_fd)
      gets RDMA_CM_ADDR_RESOLVED

       rout_resolve()
       gets RDMA_CM_ROUTE_RESOLVE

       connect():

P2: Gets Connect request

P1: -> Dies

P2: create_qp() -> Fails -> deletes the cmid associated

P2: select(cm_fd)

P2: gets RDMA_CM_EVENT_REJECTED -> event->status = 4...


P2 does not have ANY outstanding connections. It is not trying to connect to
anything. It is just passively accepting connections.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to