[libfabric-users] multi-receive CQ entry with FI_MULTI_RECV, not the last one read by fi_cq_read()?
sean.hefty at intel.com
Wed Jun 24 12:39:51 PDT 2020
> I sent a follow-up this morning, which you may not have seen yet. In that I
> hypothesized that this was due to the CQ entry ordering not being the same as the
> message ordering in the buffer because I'd thrown FI_ORDER_SAS on both the sending and
> receiving endpoints, and the FI_MULTI_RECEIVE CQ entry was effectively in buffer order
> rather than CQ order.
Completion order is separate from data order and not guaranteed unless FI_ORDER_STRICT has been enabled. I don't know how you structured your assert, but the completion with FI_MULTI_RECV flag set should be last, as it indicates that the buffer is safe to repost.
> To answer your other questions, this was with the 1.10.1 release tarball and I'm only
> using one multi-receive buffer at a time.
The fixes I was referring to are in that release.
More information about the Libfabric-users