]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
mpxyd: add mpxyd.conf option to disable proxy-in service
authorArlin Davis <arlin.r.davis@intel.com>
Thu, 22 May 2014 21:42:28 +0000 (14:42 -0700)
committerArlin Davis <arlin.r.davis@intel.com>
Thu, 22 May 2014 21:42:28 +0000 (14:42 -0700)
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
dapl/svc/mcm.c
dapl/svc/mpxyd.c
dapl/svc/util.c
doc/mpxyd.conf

index da318c435e844b9a6daa2e1fc2eb937b940cdf41..5b477a6dc72cfd29919e7805d84c019ec0bf9cc6 100644 (file)
@@ -48,6 +48,7 @@ int mcm_disc_retry = 5;
 int mcm_rep_ms = 4000;
 int mcm_rtu_ms = 2000;
 int mcm_dreq_ms = 1000;
+int mcm_proxy_in = 1;
 
 extern int mcm_rx_entries;
 extern uint64_t system_guid;
@@ -174,8 +175,9 @@ int mcm_init_cm_service(mcm_ib_dev_t *md)
                     strerror(errno));
                return -1;
        }
-       /* endpoint mapping hint for MIC to HCA communication, backward compatible */
-       if ((md->numa_node == md->mc->numa_node) || (md->mc->ver == MIX_COMP))
+       /* EP mapping hint for MIC to HCA, set MSS if compat or PI disabled */
+       if ((md->numa_node == md->mc->numa_node) ||
+           (md->mc->ver == MIX_COMP) || (mcm_proxy_in == 0))
                md->addr.ep_map = MIC_SSOCK_DEV;
        else
                md->addr.ep_map = MIC_XSOCK_DEV;
index 78990bd55ae78ce5c0444f85f7b6e7636c1f812a..ecc9a36b5b05facac28beac17e9d990659c934fa 100644 (file)
@@ -756,7 +756,7 @@ err:
 
        mlog(1, " MIC client: open mdev[%d] %p smd %p mic%d[%d] -> %s[%d] port %d - %s\n",
                md->smd_list.tid, md, smd, mc->scif_id-1, mc->numa_node, msg->name,
-               md->numa_node, msg->port, md->numa_node == mc->numa_node ? "MSS":"MXS" );
+               md->numa_node, msg->port, md->addr.ep_map == MIC_SSOCK_DEV ? "MSS":"MXS");
 bail:
        mpxy_unlock(&mc->oplock);
        mpxy_unlock(&mc->cmlock);
index 526f3b2aa691c7c8970d882f4f188a1a005a4539..5fd5d88fad1fe06505c1e2f0f9255e3f143cc966 100644 (file)
@@ -56,6 +56,7 @@ extern int mcm_disc_retry;
 extern int mcm_rep_ms;
 extern int mcm_rtu_ms;
 extern int mcm_dreq_ms;
+extern int mcm_proxy_in;
 
 /* mix.c */
 extern int mix_align;
@@ -416,6 +417,8 @@ void mpxy_set_options( int debug_mode )
                        mix_eager_completion = atoi(value);
                else if (!strcasecmp("mcm_counters", opt))
                        mcm_counters = atoi(value);
+               else if (!strcasecmp("mcm_proxy_in", opt))
+                       mcm_proxy_in = atoi(value);
                else if (!strcasecmp("proxy_tx_depth", opt))
                {
                        int tsize = atoi(value); /* power of 2 */
@@ -459,8 +462,11 @@ void mpxy_log_options(void)
        mlog(0, "RDMA IB inline threshold %d\n", mcm_ib_inline);
        mlog(0, "RDMA eager completion %d\n", mix_eager_completion);
        mlog(0, "RDMA proxy-out signal rate %d\n", mcm_rw_signal);
-       mlog(0, "RDMA proxy-in signal rate %d\n", mcm_rr_signal);
-       mlog(0, "RDMA proxy-in max reads outstanding %d\n", mcm_rr_max);
+       mlog(0, "RDMA proxy-in %s\n", mcm_proxy_in ? "enabled":"disabled");
+       if (mcm_proxy_in) {
+               mlog(0, "RDMA proxy-in signal rate %d\n", mcm_rr_signal);
+               mlog(0, "RDMA proxy-in max reads outstanding %d\n", mcm_rr_max);
+       }
        mlog(0, "Maximum message size %d MB\n", mix_max_msg_mb);
        mlog(0, "CM msg queue depth %d\n", mcm_depth);
        mlog(0, "CM msg completion signal rate %d\n", mcm_signal);
index 8281a903c238547e300bb7c377b6a6d3290abf38..b44f4f5208d9e3c1fe393845749a09e468284cb3 100644 (file)
@@ -167,5 +167,11 @@ mcm_eager_completion 1
 
 mcm_counters 0
 
+# mcm_proxy_in
+# Override for proxy-in services. If disabled, mpxyd will fallback to previous version of proxy-out only.
+# Default is enabled.
+
+mcm_proxy_in 1
+