int mca_rcache_vma_find_all(struct mca_rcache_base_module_t* rcache, void* addr, size_t size, mca_mpool_base_registration_t **regs, int reg_cnt) { void *base_addr, *bound_addr; if(size == 0) { return OMPI_ERROR; } base_addr = down_align_addr(addr, mca_mpool_base_page_size_log); bound_addr = up_align_addr((void*) ((unsigned long) addr + size - 1), mca_mpool_base_page_size_log); return mca_rcache_vma_tree_find_all((mca_rcache_vma_module_t*)rcache, (unsigned char*)base_addr, (unsigned char*)bound_addr, regs, reg_cnt); }
int mca_rcache_vma_find_all(struct mca_rcache_base_module_t* rcache, void* addr, size_t size, mca_mpool_base_registration_t **regs, int reg_cnt) { int rc; unsigned char *bound_addr; if(size == 0) { return OMPI_ERROR; } bound_addr = addr + size - 1; /* Check to ensure that the cache is valid */ if (OPAL_UNLIKELY(opal_memory_changed() && NULL != opal_memory->memoryc_process && OPAL_SUCCESS != (rc = opal_memory->memoryc_process()))) { return rc; } return mca_rcache_vma_tree_find_all((mca_rcache_vma_module_t*)rcache, (unsigned char*)addr, bound_addr, regs, reg_cnt); }