Hi CQ. Tang, Changqing wrote: > Roland: > If I only want to send/recv 4 bytes with immediate data: > > 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 ? > If the data that is being sent is only the immediate data, so no MR should be registered in this side. The SR will look like this: sr.opcode = IBV_WR_SEND_WITH_IMM; sr.imm_data = my_4_bytes_data; sr.num_sge = 0; > On receiver side, because the immediate data is inside the completion > structure, do I need to post a receive for above message ? > If I need to post a receive, do I need to specify sg_list and num_sge > for the receive ? > In the receiver side you must post RR (because SEND opcode consumes a RR).
If you are using UD QP, you must add s/g list with 40 bytes (of registered memory). If you are not using UD QP, the s/g list in this side can be empty (num_sge = 0) and the data that was sent will be provided to you in wc.imm_data. > I looked the spec but did not find useful information. > > The reason I ask is that at some point, I can not(or hard) to provide > registered memory only for 4 bytes data. > I think that you can avoid registering those 4 bytes ... Hope this helped you Dotan _______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general