[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