OSHMEM: fixes addr_acessible()
check every possible transport Signed-off-by: Alex Mikheev <alexm@mellanox.com>
Этот коммит содержится в:
родитель
23c3dc8345
Коммит
61bd59a369
@ -226,6 +226,11 @@ static inline sshmem_mkey_t *mca_memheap_base_get_cached_mkey(int pe,
|
||||
return mca_memheap_base_get_cached_mkey_slow(s, pe, va, btl_id, rva);
|
||||
}
|
||||
|
||||
static inline int mca_memheap_base_num_transports(void)
|
||||
{
|
||||
return memheap_map->num_transports;
|
||||
}
|
||||
|
||||
END_C_DECLS
|
||||
|
||||
#endif /* MCA_MEMHEAP_BASE_H */
|
||||
|
@ -26,10 +26,16 @@ int shmem_addr_accessible(const void *addr, int pe)
|
||||
{
|
||||
void* rva;
|
||||
sshmem_mkey_t *mkey;
|
||||
int i;
|
||||
|
||||
RUNTIME_CHECK_INIT();
|
||||
|
||||
mkey = mca_memheap_base_get_cached_mkey(pe, (void *)addr, oshmem_get_transport_id(pe), &rva);
|
||||
for (i = 0; i < mca_memheap_base_num_transports(); i++) {
|
||||
mkey = mca_memheap_base_get_cached_mkey(pe, (void *)addr, i, &rva);
|
||||
if (mkey) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return mkey ? 1 : 0;
|
||||
return 0;
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user