[ofa-general] max inline data query ?

Or Gerlitz ogerlitz at voltaire.com
Tue Mar 11 01:25:45 PDT 2008


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.






More information about the general mailing list