[ofa-general] ibverbs help
Kelly Burkhart
kelly at tradebotsystems.com
Fri Oct 24 07:00:32 PDT 2008
Hello,
I have written a simple program as my first foray into verbs
programming. The intent is to create a connection and do a single send.
The logic (ripped primarily from rc_pingpong) is this:
get device
ibv_open_device
ibv_alloc_pd
allocate buffer
ibv_reg_mr
ibv_create_cq
ibv_create_qp
ibv_modify_qp (set to INIT)
ibv_query_port (exchange lid/qp_num with peer)
ibv_modify_qp (set to RTR, set remote qpnum, lid)
ibv_modify_qp (set to RTS)
SERVER:
ibv_post_recv
ibv_poll_cq (loop)
CLIENT:
ibv_post_send
ibv_poll_cq (loop)
My assumption is that when I call ibv_post_send or ibv_post_recv, that I
should be able to receive notification of the completion of that call by
spinning on ibv_poll_cq until the work completion is available.
However, my program spins on ibv_poll_cq indefinitely. Is there an
error in my understanding? Or an error in my program (attached).
To run:
test_ibv_simple (run as server)
test_ibv_simple asdf (any arg will cause client)
Thanks,
-Kelly
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_ibv_simple.cpp
Type: application/octet-stream
Size: 15690 bytes
Desc: test_ibv_simple.cpp
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20081024/8e4c5a49/attachment.obj>
More information about the general
mailing list