>[r...@lv4 examples]# ./ucmatose
>'cmatose: starting server
>initiating data transfers
>completing sends
>--> Hangs here
>
> [r...@lv5 examples]# ./ucmatose -s 192.168.10.33
>cmatose: starting client
>cmatose: connecting
>receiving data transfers
>sending replies
>data transfers complete
>--> Hangs here


I debugged this to see why it hangs.  The problem, as I see it, is in the 
server side.  The problem is shown in the diagram below (connection set up and 
tear down are omitted).  Both sides post 10 receive buffers.

1.                                              Server sends ten messages (not 
signaled)
2.      Client polls recv cq and
          receives 10 messages
3.      Client sends 10 messages
4.                                              Server polls the send cq for 
completions  
5.                                              Server polls the recv cq for 
completions

The server hangs in step 4 where it is looking for send completions but there 
will not be any because the signaled flag was not set in step 1.

ucmatose completes when I change the following line:
        send_wr.send_flags = 0;
to
        send_wr.send_flags = IBV_SEND_SIGNALED;

Don Wood

_______________________________________________
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

Reply via email to