On Mon, 7 Dec 2020, Mark Haywood wrote: > On 12/7/20 5:28 AM, Christoph Lameter wrote: > > Looking at librdmacm/rdma_getaddrinfo(): > > > > It seems that the call to the IBACM via ucma_ib_resolve() is only done > > after a regular getaddrinfo() was run. Is IBACM truly able to provide > > address resolution or is it just some strange after processing if the main > > resolution attempt fails? > > > > getaddrinfo() is called only if 'node' or 'service' are set. Otherwise, > 'hints' are set and used. Right. It calls the function that does an RPC to ibacm *after* getaddrinfo. This is confusing. I would have expected this to happen *before* getaddrinfo and that getaddrinfo would be skipped if ibacm returns a hit in the cache. If node is set then we want something to be resolved. So it *first* should check with ibacm. No? > ucma_set_ib_route() (called from rdma_resolve_route()) calls > rdma_getaddrinfo() with 'hints' set. That in turn calls getaddrinfo. > Increasing the ibacm log level and then using cmtime(1), I see log messages > that indicate that ibacm is resolving addresses. Well it does that under certain circumstances. What kind of addresses are you resolving?