[ofa-general] [RFC] XRC -- make receiving XRC QP independent of any one user process
Jack Morgenstein
jackm at dev.mellanox.co.il
Sat Dec 22 00:05:28 PST 2007
On Saturday 22 December 2007 04:51, Tang, Changqing wrote:
> We need to ask Roland to confirm this.
>
I'll speak to the firmware guys here for clarification.
>
>
> I did not use zero byte rdma_read, I only use zero byte rdma_write.
>
> Here is our code:
>
> sr.next = NULL;
> sr.wr_id = (uint64_t)(AULONG)rdmahdr;
>
> sr.sg_list = &ssg;
> sr.num_sge = 0;
> sr.opcode = IBV_WR_RDMA_WRITE;
> sr.send_flags = IBV_SEND_INLINE|IBV_SEND_SIGNALED;
>
> err = ibv_post_send(ibvproc->connection[i].qp_hndl, &sr, &bad_sr);
> if (err != 0) {
> hpmp_printf("ibv_post_send() failed");
> return (-1);
> }
>
> Note, ssg is not initialized (Maybe we can set sr.sg_list = NULL ?)
You don't need to initialize ssg -- you have set num_sge to zero, so sg_list is not relevant.
>
I notice that the rdma fields are also not initialized.
That implies that no validity checking is done on the remote host side once
the length is zero.
I just looked at the ConnectX PRM, revision 0.35, section 8.4.1.11. It specifically addresses the issue of
sending 0-byte RDMA reads/writes: send a wqe with NO data segments, and you will get a 0-length RDMA-write.
However, it does not mention whether the remote address and rkey provided in the WQE must be valid or not.
I'll check with F/W regarding this issue, too.
- Jack
More information about the general
mailing list