OSHMEM: spml ikrit: add hardware rdma endpoint

Commits add mxm endpoint that can be used for transports with hw rdma capabilites. Atomic operations are set to use this endpoint. 

It is now possible to run UD transport to get a good scalability and RC to benefit from IB hardware atomics.

Commits from: open-mpi/ompi@1bcc88cfb1a0868e733802d343ddf16ffd2b93a0 
to: open-mpi/ompi@643e64497d531830111ed7a1ddf5bebceea9d4a3

@miked-mellanox @jladd-mlnx
 
It is a long line split in two. getenv() is a  second argument to check_mxm_hw_tls()

From: Jeff Squyres [mailto:notifications@github.com]
Sent: Tuesday, November 04, 2014 1:41 PM
To: open-mpi/ompi-release
Cc: Alexander Mikheev
Subject: Re: [ompi-release] OSHMEM: spml ikrit: add hardware rdma endpoint (#28)


In oshmem/mca/spml/ikrit/spml_ikrit_component.c:

> +

> +    orte_show_help("help-oshmem-spml-ikrit.txt", "mxm tls", true,

> +                    v, tls);

> +    return OSHMEM_ERROR;

> +}

> +

> +static inline int set_mxm_hw_rdma_tls()

> +{

> +    if (!mca_spml_ikrit.hw_rdma_channel) {

> +        return check_mxm_hw_tls("MXM_OSHMEM_TLS", getenv("MXM_OSHMEM_TLS"));

> +    }

> +    setenv("MXM_OSHMEM_HW_RDMA_RC_QP_LIMIT", "-1", 0);

> +    setenv("MXM_OSHMEM_HW_RDMA_TLS", "rc", 0);

> +

> +    return check_mxm_hw_tls("MXM_OSHMEM_HW_RDMA_TLS",

> +            getenv("MXM_OSHMEM_HW_RDMA_TLS"));

Why is there a getenv() after the return?

—
Reply to this email directly or view it on GitHub<https://github.com/open-mpi/ompi-release/pull/28/files#r19797823>.