[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