diff --git a/ompi/mca/btl/btl.h b/ompi/mca/btl/btl.h index b410449e58..7bdfae407a 100644 --- a/ompi/mca/btl/btl.h +++ b/ompi/mca/btl/btl.h @@ -133,8 +133,16 @@ typedef uint8_t mca_btl_base_tag_t; #define MCA_BTL_TAG_MAX 255 /* 1 + highest allowed tag num */ /* prefered protocol */ -#define MCA_BTL_FLAGS_SEND 1 -#define MCA_BTL_FLAGS_RDMA 2 +#define MCA_BTL_FLAGS_SEND 0x1 +#define MCA_BTL_FLAGS_RDMA 0x2 + +/* btl can send directly from user buffer w/out registration */ +#define MCA_BTL_FLAGS_SEND_INPLACE 0x10000000 + +/* Default exclusivity levels */ +#define MCA_BTL_EXCLUSIVITY_HIGH 64*1024 /* internal loopback */ +#define MCA_BTL_EXCLUSIVITY_DEFAULT 1024 /* GM/IB/etc. */ +#define MCA_BTL_EXCLUSIVITY_LOW 0 /* TCP used as a last resort */ /** diff --git a/ompi/mca/btl/gm/btl_gm_component.c b/ompi/mca/btl/gm/btl_gm_component.c index 68a03238f9..414385752f 100644 --- a/ompi/mca/btl/gm/btl_gm_component.c +++ b/ompi/mca/btl/gm/btl_gm_component.c @@ -138,7 +138,7 @@ int mca_btl_gm_component_open(void) /* register gm module parameters */ mca_btl_gm_module.super.btl_exclusivity = - mca_btl_gm_param_register_int ("exclusivity", 0); + mca_btl_gm_param_register_int ("exclusivity", MCA_BTL_EXCLUSIVITY_DEFAULT); mca_btl_gm_module.super.btl_eager_limit = mca_btl_gm_param_register_int ("eager_limit", 32*1024); mca_btl_gm_module.super.btl_min_send_size = diff --git a/ompi/mca/btl/mvapi/btl_mvapi_component.c b/ompi/mca/btl/mvapi/btl_mvapi_component.c index c83ce72fe7..0e3c3c1579 100644 --- a/ompi/mca/btl/mvapi/btl_mvapi_component.c +++ b/ompi/mca/btl/mvapi/btl_mvapi_component.c @@ -180,7 +180,7 @@ int mca_btl_mvapi_component_open(void) mca_btl_mvapi_module.super.btl_exclusivity = - mca_btl_mvapi_param_register_int ("exclusivity", 0); + mca_btl_mvapi_param_register_int ("exclusivity", MCA_BTL_EXCLUSIVITY_DEFAULT); mca_btl_mvapi_module.super.btl_eager_limit = mca_btl_mvapi_param_register_int ("eager_limit", (64*1024)) - sizeof(mca_btl_mvapi_header_t); diff --git a/ompi/mca/btl/openib/btl_openib_component.c b/ompi/mca/btl/openib/btl_openib_component.c index 91b2ab74b1..d06d925970 100644 --- a/ompi/mca/btl/openib/btl_openib_component.c +++ b/ompi/mca/btl/openib/btl_openib_component.c @@ -184,7 +184,7 @@ int mca_btl_openib_component_open(void) mca_btl_openib_module.super.btl_exclusivity = - mca_btl_openib_param_register_int ("exclusivity", 0); + mca_btl_openib_param_register_int ("exclusivity", MCA_BTL_EXCLUSIVITY_DEFAULT); mca_btl_openib_module.super.btl_eager_limit = mca_btl_openib_param_register_int ("eager_limit", (64*1024)) - sizeof(mca_btl_openib_header_t); diff --git a/ompi/mca/btl/sm/btl_sm_component.c b/ompi/mca/btl/sm/btl_sm_component.c index 337979c9fe..3b1e84f654 100644 --- a/ompi/mca/btl/sm/btl_sm_component.c +++ b/ompi/mca/btl/sm/btl_sm_component.c @@ -263,7 +263,7 @@ mca_btl_base_module_t** mca_btl_sm_component_init( mca_btl_sm[i].super.btl_max_send_size=mca_btl_sm_component.max_frag_size; mca_btl_sm[i].super.btl_min_rdma_size=mca_btl_sm_component.max_frag_size; mca_btl_sm[i].super.btl_max_rdma_size=mca_btl_sm_component.max_frag_size; - mca_btl_sm[i].super.btl_exclusivity=100; /* always use this ptl */ + mca_btl_sm[i].super.btl_exclusivity=MCA_BTL_EXCLUSIVITY_HIGH-1; /* always use this ptl */ mca_btl_sm[i].super.btl_latency=100; /* lowest latency */ mca_btl_sm[i].super.btl_bandwidth=900; /* not really used now since exclusivity is set to 100 */ } diff --git a/ompi/mca/btl/tcp/btl_tcp_component.c b/ompi/mca/btl/tcp/btl_tcp_component.c index d90228f758..eed1bafd7a 100644 --- a/ompi/mca/btl/tcp/btl_tcp_component.c +++ b/ompi/mca/btl/tcp/btl_tcp_component.c @@ -206,7 +206,7 @@ int mca_btl_tcp_component_open(void) mca_btl_tcp_component.tcp_rcvbuf = mca_btl_tcp_param_register_int ("rcvbuf", 128*1024); mca_btl_tcp_module.super.btl_exclusivity = - mca_btl_tcp_param_register_int ("exclusivity", 0); + mca_btl_tcp_param_register_int ("exclusivity", MCA_BTL_EXCLUSIVITY_LOW); mca_btl_tcp_module.super.btl_eager_limit = mca_btl_tcp_param_register_int ("eager_limit", 64*1024) - sizeof(mca_btl_base_header_t); mca_btl_tcp_module.super.btl_min_send_size =