[ewg] Do I must wait after using ibv_post_send?

Dotan Barak dotanb at dev.mellanox.co.il
Tue Apr 1 22:59:57 PDT 2008


Hi.

zhang Jackie wrote:
> hi,
> I am writing a program calling *ibv_post_send* to RDMA write data to 
> other node with *IBV_SEND_SIGNALED* option. 
>  
> IBV_SEND_INLINE can be used with IBV_SEND_INLINE .*IBV_SEND_INLINE* is 
> to say that the buffer can be used immediately. If the packet is 
> small enough ,then it is very good to use  IBV_SEND_INLINE.
IBV_SEND_INLINE means that the driver copy the data by itself and the 
data buffers can be reused/freed.
>  
> while I send big data and dont use IBV_SEND_INLINE option ,So I must 
> wait a while before I can use this same buffer to post data again.In 
> fact some errors will be reported if there is no wait. SO I want to 
> know how long should I wait? And I think explicit wait is not the 
> correct solution to deal with such condition.
If you don't use IBV_SEND_INLINE, you must wait for the corresponding 
completion of this WR. You are using IBV_SEND_SIGNALED Which means that 
every WR will ends up with a completion, so in order to safely use the 
data buffer, you must wait for the completion of this WR.
>  
> Can someone help me ?
>  
Dotan



More information about the ewg mailing list