[ofa-general] cmatose fails whereas rping passes on iWarp
Wood, Donald E
donald.e.wood at intel.com
Mon Jul 6 13:39:16 PDT 2009
>[root at lv4 examples]# ./ucmatose
>'cmatose: starting server
>initiating data transfers
>completing sends
>--> Hangs here
>
> [root at 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
More information about the general
mailing list