Dotan Barak wrote:
If one wishes to use maximum inline data, he should open a QP with maximum number of s/g entries in the QP->SQ (ibv_qp_init_attr.cap.max_send_sge). The actual number of bytes which can be send as inline will be returned in the attribute ibv_qp_init_attr.cap.max_inline_data after ibv_create_qp will be finished.

Its correct that the maximal inline length can be get this way, but please note that the inline size as a function of the send s/g entries has "steps" so for some values of n=|s/g| f(n+1) = f(n) but n+1 would consume more memory.

Basically, inline sending tends to improve latency (only one DMA transaction, to fetch the descriptor) but it increases the memory consumption and the CPU utilization (since the user space hw library does a copy). My take here is that it should be used with care, going simple you can create the QP with the s/g count you need per your design and do inline send only when possible under this count, etc.

Or.



_______________________________________________
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

Reply via email to