static int __udreg_close(struct gnix_fid_domain *domain) { udreg_return_t ret; if (domain->udreg_cache) { ret = UDREG_CacheRelease(domain->udreg_cache); if (unlikely(ret != UDREG_RC_SUCCESS)) GNIX_FATAL(FI_LOG_DOMAIN, "failed to release from " "mr cache during domain destruct, dom=%p rc=%d\n", domain, ret); ret = UDREG_CacheDestroy(domain->udreg_cache); if (unlikely(ret != UDREG_RC_SUCCESS)) GNIX_FATAL(FI_LOG_DOMAIN, "failed to destroy mr " "cache during domain destruct, dom=%p rc=%d\n", domain, ret); } return FI_SUCCESS; }
void mca_mpool_udreg_finalize(struct mca_mpool_base_module_t *mpool) { mca_mpool_udreg_module_t *mpool_udreg = (mca_mpool_udreg_module_t*)mpool; /* Statistic */ if (true == mca_mpool_udreg_component.print_stats) { uint64_t hit = 0, miss = 0, evicted = 0; (void) UDREG_GetStat (mpool_udreg->udreg_handle, UDREG_STAT_CACHE_HIT, &hit); (void) UDREG_GetStat (mpool_udreg->udreg_handle, UDREG_STAT_CACHE_MISS, &miss); (void) UDREG_GetStat (mpool_udreg->udreg_handle, UDREG_STAT_CACHE_EVICTED, &evicted); opal_output(0, "%s udreg: stats (hit/miss/evicted): %" PRIu64 "/%" PRIu64 "/%" PRIu64 "\n", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), hit, miss, evicted); } UDREG_CacheRelease (mpool_udreg->udreg_handle); OBJ_DESTRUCT(&mpool_udreg->reg_list); }