diff --git a/oshmem/mca/spml/ikrit/spml_ikrit.c b/oshmem/mca/spml/ikrit/spml_ikrit.c index 1a1ff59915..c86a85f453 100644 --- a/oshmem/mca/spml/ikrit/spml_ikrit.c +++ b/oshmem/mca/spml/ikrit/spml_ikrit.c @@ -105,8 +105,13 @@ static inline mxm_mem_key_t *to_mxm_mkey(sshmem_mkey_t *mkey) { static inline void mca_spml_irkit_req_wait(mxm_req_base_t *req) { - while (!mxm_req_test(req)) + do { + /* do at least one progress since + * with some TLs (self, shm) request + * can be completed immediately + */ opal_progress(); + } while (!mxm_req_test(req)); } static int mca_spml_ikrit_put_request_free(struct oshmem_request_t** request) diff --git a/oshmem/mca/spml/ikrit/spml_ikrit_component.c b/oshmem/mca/spml/ikrit/spml_ikrit_component.c index 8bea8e4411..04c3d8e38b 100644 --- a/oshmem/mca/spml/ikrit/spml_ikrit_component.c +++ b/oshmem/mca/spml/ikrit/spml_ikrit_component.c @@ -127,7 +127,6 @@ static inline int check_mxm_hw_tls(char *v, char *tls) if (strstr(tls, "ud") && (NULL == strstr(tls, "rc") && NULL == strstr(tls, "dc") && NULL == strstr(tls, "shm"))) { - mca_spml_ikrit.ud_only = 1; return OSHMEM_SUCCESS; } }