[ofiwg] [libfabric-users] Why does RxM use fi_getinfo?
Hefty, Sean
sean.hefty at intel.com
Wed Feb 20 14:09:07 PST 2019
> In rxm_conn_connect(), RxM uses fi_getinfo() to populate a fi_info
> struct for the underlying msg provider's endpoint.
>
> https://github.com/ofiwg/libfabric/blob/master/prov/rxm/src/rxm_conn.c#L1422
>
> I *think* the purpose of that is to copy the dest_addr into the
> fi_info. But if so, why not just use fi_dupinfo instead? There must be
> some other reason that I'm overlooking (like some kind of
> endpoint-oriented massaging of the fi_info by the provider) but I
> can't think of what that might be.
Hmm... I thought the main purpose was to select the correct src_addr for the new endpoint given the target's dest_addr. But quickly examining the code, rxm_ep->msg_info looks to be fully filled out:
https://github.com/ofiwg/libfabric/blob/master/prov/rxm/src/rxm_ep.c#L2375
and has a valid src_addr:
https://github.com/ofiwg/libfabric/blob/master/prov/rxm/src/rxm_ep.c#L2397
I wonder if simply replacing msg_info with rxm_ep->msg_info in fi_getinfo here:
https://github.com/ofiwg/libfabric/blob/master/prov/rxm/src/rxm_conn.c#L1453
would just work?
- Sean
More information about the ofiwg
mailing list