[ofiwg] [libfabric-users] Why does RxM use fi_getinfo?

Ilango, Arun arun.ilango at intel.com
Wed Feb 20 14:10:35 PST 2019


The fi_getinfo in the connect path is indeed unnecessary. PR 4826 (https://github.com/ofiwg/libfabric/pull/4826) removes it.

Note: I had initially responded just to Chris instead of to the list as well.

Thanks,
Arun.

> -----Original Message-----
> From: Hefty, Sean
> Sent: Wednesday, February 20, 2019 2:09 PM
> To: Chris Dolan <chrisdolan at google.com>; Ilango, Arun
> <arun.ilango at intel.com>
> Cc: ofiwg at lists.openfabrics.org; libfabric-users at lists.openfabrics.org
> Subject: RE: [libfabric-users] Why does RxM use fi_getinfo?
> 
> > 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#L
> 2375
> 
> and has a valid src_addr:
> 
> https://github.com/ofiwg/libfabric/blob/master/prov/rxm/src/rxm_ep.c#L
> 2397
> 
> 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