[ofa-general] Converting the Linux.au client/server example to a single post_send...

Peter W. Morreale pmorreale at novell.com
Thu Aug 7 12:44:13 PDT 2008


Roland, 

I am attempting to convert your client/server RDMA example code to use a
single ibv_post_send() instead of the two calls the client code
currently uses.  I'm using the example code from your blog:

http://digitalvampire.org/blog/

What do I have to change?   

Right now the client is hanging waiting for wr_id of 0 to complete, and
the server is hanging waiting in ibv_get_cq_event().  I have verified
that wr_id == 1 has completed.  I seem to have a mismatch between
events.  I don't understand why the server apparently is waiting for
another completion. 

Separate, but related, I do not understand why the server code does a
ibv_post_recv() with the sge.addr set to (buf + sizeof(uint32_t).  This
is apparently setting the address to the second word of the buffer.
Shouldn't this be the first word?  

Perhaps I misunderstand, but it appears that you are telling the server
to start the receive into the second word.  (which implies the data
transfer would be out of bounds of buf, clearly not the case as the
original example works..  ???)

Thanks much,
-PWM







More information about the general mailing list