[libfabric-users] Shared Rx and Connected

Hefty, Sean sean.hefty at intel.com
Mon Sep 9 13:18:50 PDT 2019

> Longer term, it seems we could really use another fi_cq_readfrom() specific to
> connected endpoints.  Rather than return an fi_addr_t, it should return a fid_ep
> pointer.  It would be great to extend fi_cq_readfrom() with an extra parameter, but
> that would break existing code so perhaps creating a new call would be best.  Something
> like:
> ssize_t fi_cq_readfromconn(struct fid_cq *cq, void *buf, size_t count,
>     struct fid_eq **src_ep);
> The local context could be retrieved from the context of the src_ep’s.

The problem is that CQs are not limited to a specific EP type.  Fi_cq_readfrom() uses

	fi_addr_t *src_addr

as the output parameter.  Fi_addr_t is uint64_t.  There might be a way to make it work without breaking apps by returning a different pointer value if the completion is associated with a connected EP.

> Did you want me to create an issue on this to track it?

Yes, please.

More information about the Libfabric-users mailing list