diff --git a/src/cart/crt_init.c b/src/cart/crt_init.c index 69ca72f14f3..0ba59243058 100644 --- a/src/cart/crt_init.c +++ b/src/cart/crt_init.c @@ -567,13 +567,16 @@ prov_settings_apply(bool primary, crt_provider_t prov, crt_init_options_t *opt) if (prov == CRT_PROV_OFI_TCP || prov == CRT_PROV_OFI_TCP_RXM) file_limit_bump(); - if (prov == CRT_PROV_OFI_CXI) - mrc_enable = 1; + /* Enable mrc on clients for all providers except verbs; disable on servers */ + mrc_enable = 1; + if (crt_is_service() || prov == CRT_PROV_OFI_VERBS_RXM) + mrc_enable = 0; crt_env_get(CRT_MRC_ENABLE, &mrc_enable); if (mrc_enable == 0) { - D_INFO("Disabling MR CACHE (FI_MR_CACHE_MAX_COUNT=0)\n"); + D_INFO("Disabling MR CACHE\n"); d_setenv("FI_MR_CACHE_MAX_COUNT", "0", 1); + d_setenv("UCX_RCACHE_ENABLE", "n", 1); } g_prov_settings_applied[prov] = true;