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
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general