[openib-general] Immediate data question

Or Gerlitz or.gerlitz at gmail.com
Mon Feb 5 10:16:00 PST 2007


On 2/5/07, Tang, Changqing <changquing.tang at hp.com> wrote:

> On sender side:
>         opcode = IBV_WR_SEND_WITH_IMM;
>         imm_data = my_4_bytes_data;
>         Do I still need to specify sg_list and num_sge ?

At the sender side i think you can do well with:
opcode = IBV_WR_SEND
send_flags |= IBV_SEND_INLINE
sge.addr = pointer to the 4 bytes
sge.len   = 4
sge.lkey = don't care

since the 4 bytes are --copied-- by the IB library from sge.addr
during the execution of ibv_post_send(), the owenership of sge.addr is
yours once the call returns.

> On receiver side, because the immediate data is inside the completion
> structure, do I need to post a receive for above message ?

yes, i don't see how you can get a way from posting a receive WR

> The reason I ask is that at some point, I can not(or hard) to provide
> registered memory only for 4 bytes data.

what about the mpi impl. header ??? do you have a case where only 4
bytes need to be passed to the other side?

Or.




More information about the general mailing list