[openib-general] basic IB doubt

Tang, Changqing changquing.tang at hp.com
Wed Aug 23 12:00:13 PDT 2006


Thanks for all your replies. So my general question is, why only 4bytes
immediate data can
Generate completion event on B side, Why RDMA-write with any data size
does not generate
A completion event on B side? basic there are the same thing, the only
different is, one
Copy 4bytes to completion structure, the other copy all data to provided
dest buffer.

--CQ


>-----Original Message-----
>From: Ralph Campbell [mailto:ralphc at pathscale.com] 
>Sent: Wednesday, August 23, 2006 1:16 PM
>To: Tang, Changqing
>Cc: Caitlin Bestler; openib-general at openib.org
>Subject: RE: [openib-general] basic IB doubt
>
>On Wed, 2006-08-23 at 12:28 -0500, Tang, Changqing wrote:
>>  >
>> >Actually, A knows the data is in B's memory when A gets the 
>> >completion notice.  B can't rely on anything unless A uses the RDMA
our 
>> >write with immediate which puts a completion event in B's CQ.
>> 
>> Ralph:
>> 
>> Can you give a few more words on 'immediate', I know A will have A 
>> completion event in its CQ, Does B receive a CQ event on the 
>Same RDMA 
>> operation as well ?
>> 
>> --CQ Tang
>
>B doesn't get a completion event for a RDMA write initiated 
>from A unless A does something like the following:
>
>     struct ib_send_wr wr;
>
>     wr.opcode = IB_WR_RDMA_WRITE_WITH_IMM;
>     wr.imm_data = cpu_to_be32(value);
>     ...
>     ib_post_send(qp, &wr, NULL);
>
>B will get a completion event with the IB_WC_WITH_IMM flag set 
>in struct ib_wc.wc_flags and ib_wc.imm_data set to the value 
>that A sent.
>
>




More information about the general mailing list