diff --git a/src/cart/crt_hg.c b/src/cart/crt_hg.c index ab23cc104797..318aacd57a81 100644 --- a/src/cart/crt_hg.c +++ b/src/cart/crt_hg.c @@ -908,6 +908,10 @@ crt_hg_class_init(crt_provider_t provider, int ctx_idx, bool primary, int iface_ init_info.request_post_incr = crt_gdata.cg_post_incr; init_info.multi_recv_op_max = crt_gdata.cg_mrecv_buf; init_info.multi_recv_copy_threshold = crt_gdata.cg_mrecv_buf_copy; + /* With cxi provider, separate SWIM traffic in an effort to prevent potential congestion. */ + if (provider == CRT_PROV_OFI_CXI && crt_is_service() && + ctx_idx == crt_gdata.cg_swim_crt_idx) + init_info.traffic_class = NA_TC_BULK_DATA; hg_class = HG_Init_opt2(info_string, crt_is_service(), HG_VERSION(2, 4), &init_info); if (hg_class == NULL) {