From 27c252e2113222dcb0035ca44a1829b8c5b06fb9 Mon Sep 17 00:00:00 2001 From: William Zhang Date: Tue, 11 Aug 2020 13:59:26 -0700 Subject: [PATCH] btl/ofi: Disable ofi_rxm provider The ofi_rxm provider is dependent upon the underlying hardware for its implementation of FI_DELIVERY_COMPLETE. Since this can lead to early completions, we disable the provider to avoid correctness issues. This is not an issue in the mtl/ofi as it does not require FI_DELIVERY_COMPLETE. Signed-off-by: William Zhang (cherry picked from commit 41acfee2bbfc5495aeeeae4b72f385ca8d1d8cee) --- opal/mca/btl/ofi/btl_ofi_component.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/opal/mca/btl/ofi/btl_ofi_component.c b/opal/mca/btl/ofi/btl_ofi_component.c index 343762f2ad..45fca2c5b8 100644 --- a/opal/mca/btl/ofi/btl_ofi_component.c +++ b/opal/mca/btl/ofi/btl_ofi_component.c @@ -85,6 +85,14 @@ static int validate_info(struct fi_info *info, uint64_t required_caps, return OPAL_ERROR; } + /* ofi_rxm does not fulfill FI_DELIVERY_COMPLETE requirements. Thus we + * exclude it if it's detected. + */ + if (strstr(info->fabric_attr->prov_name, "ofi_rxm")) { + BTL_VERBOSE(("ofi_rxm does not support FI_DELIVERY_COMPLETE")); + return OPAL_ERROR; + } + /* we need exactly all the required bits */ if ((info->caps & required_caps) != required_caps) { BTL_VERBOSE(("unsupported caps"));