Thanks Sean,

I did "struct ibv_send_wr *bad_send_wr;"

I can see that it is being set to the first work request (the one with wr_id as zero) by ibv_post_send. The inline data size is indeed 512.

But still - I cannot understand why ibv_post_send is failing.

Regards,
Manoj


-----Original Message----- From: Hefty, Sean
Sent: Tuesday, September 27, 2011 11:04 AM
To: Manoj Nambiar ; [email protected]
Subject: RE: Issue with ibv_post_send

code snips
start ------------------------------------------------------------------------
----------------------
int rc;
struct ibv_send_wr bad_send_wr[3];

This should just be:

struct ibv_send_wr *bad_send_wr;

On a post error, the pointer will be set to the work request that failed.

(gdb)  p rdmaptr->wr[0].sg_list[0]
$24 = {addr = 47966518199024, length = 512, lkey = 2684626508}

Check that your inline data size is 512.

(gdb)  p rdmaptr->wr[1].sg_list[0]
$25 = {addr = 47966518134536, length = 8, lkey = 2684626508}
(gdb)  p rdmaptr->wr[2].sg_list[0]
$26 = {addr = 47966518134512, length = 8, lkey = 2684626508}
(gdb) p errno

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to