[libfabric-users] Shared Rx and Connected
Doug Oucharek
dougso at me.com
Mon Sep 9 13:33:52 PDT 2019
> On Sep 9, 2019, at 1:18 PM, Hefty, Sean <sean.hefty at intel.com> wrote:
>
>> 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.
Good point. Did not think about that. I like your suggestion of having a different pointer type based on whether we are connected or connectionless. The only problem: how to communicate which type of pointer it is per returned element?
>
>> Did you want me to create an issue on this to track it?
>
> Yes, please.
Will do.
More information about the Libfabric-users
mailing list