On Fri, Jul 3, 2015 at 2:50 PM, Christopher Mitchell <[email protected]> wrote: > The manpage for ibv_post_send indicates that if you specify the > IBV_SEND_INLINE flag, that you can immediately re-use the buffer after > ibv_post_send() returns. However, I have found that if I modify the > buffer immediately after ibv_post_send(), the changes are rarely > reflected in the presumably already-posted message. I'm using > ConnectX-3 cards and RC connections, if that's relevant. Is this a > known issue, and/or is it possible I'm missing something obvious?
I can't see any way to get the behavior you're seeing. What version of libmlx4 are you using? The reason I say I don't see how that can happen is that in mlx4_post_send() in libmlx4, if IBV_SEND_INLINE is set, the code memcpys the data into the descriptor and does not keep any reference to the pointers passed in through the sg ilst. So I don't see how the hardware could even detect that you change the data after ibv_post_send(). Or what do you mean about "after ibv_post_send()"? Are you possibly changing the data from another thread and racing with the memcpy before ibv_post_send() returns? - R. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
