[ofa-general] RDMA/iwarp CM question

Steve Wise swise at opengridcomputing.com
Wed Sep 12 03:51:16 PDT 2007



Kanoj Sarcar wrote:
> Hello iwarp/rdmacm folks,
> 
> If an iwarp driver sends a IW_CM_EVENT_CONNECT_REQUEST
> type event to the OFA stack, what synchronization (if
> any) is provided by OFA against a service destruct
> downcall to the driver that will attempt to destroy
> the listener for which this upcall was made?
>                                                       
>              

No synchronization is provided. The only thing I see is that a connect 
request will be dropped if the listening cm_id is being destroyed.  So 
the iwarp cm protects its own data structures for this case.  See iwcm.c 
cm_conn_req_handler() and destoy_cm_id(). But from the driver's 
perspective, one thread/cpu could be running a connect request event and 
be in the iwcm's event handler, while another thread/cpu is running a 
destroy on the listen cm_id and is in the drivers destroy_listen handler.

> Will some layer in OFA ensure that accept/reject(s) on
> children of a listener will not go down to the iwarp
> provider if the service_destroy on the listener has
> already been invoked?
>                                                       
>                          

I don't think so. Once the connect request is passed up to the user, any 
association with the listening cm_id is gone.  And I believe it should 
be valid that  an application can get a connect request, then destroy 
the listen cm_id, then accept or reject the connect request.


Steve.



More information about the general mailing list