mtl_btl_ofi_rcache_init() before creating domain
mtl_btl_ofi_rcache_init() initializes patcher which should only take place things are single threaded. OFI providers may start spawn threads, so initialize the rcache before creating OFI objects to prevent races. Authored-by: John L. Byrne <john.l.byrne@hpe.com> Signed-off-by: Harumi Kuno <harumi.kuno@hpe.com>
Этот коммит содержится в:
родитель
e2948c96bc
Коммит
f1b21cb776
@ -417,6 +417,12 @@ static int mca_btl_ofi_init_device(struct fi_info *info)
|
|||||||
ep_attr = ofi_info->ep_attr;
|
ep_attr = ofi_info->ep_attr;
|
||||||
domain_attr = ofi_info->domain_attr;
|
domain_attr = ofi_info->domain_attr;
|
||||||
|
|
||||||
|
/* mtl_btl_ofi_rcache_init() initializes patcher which should only
|
||||||
|
* take place things are single threaded. OFI providers may start
|
||||||
|
* spawn threads, so initialize the rcache before creating OFI objects
|
||||||
|
* to prevent races. */
|
||||||
|
mca_btl_ofi_rcache_init(module);
|
||||||
|
|
||||||
linux_device_name = info->domain_attr->name;
|
linux_device_name = info->domain_attr->name;
|
||||||
BTL_VERBOSE(("initializing dev:%s provider:%s",
|
BTL_VERBOSE(("initializing dev:%s provider:%s",
|
||||||
linux_device_name,
|
linux_device_name,
|
||||||
@ -547,9 +553,6 @@ static int mca_btl_ofi_init_device(struct fi_info *info)
|
|||||||
module->use_virt_addr = true;
|
module->use_virt_addr = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* initialize the rcache */
|
|
||||||
mca_btl_ofi_rcache_init(module);
|
|
||||||
|
|
||||||
/* create endpoint list */
|
/* create endpoint list */
|
||||||
OBJ_CONSTRUCT(&module->endpoints, opal_list_t);
|
OBJ_CONSTRUCT(&module->endpoints, opal_list_t);
|
||||||
OBJ_CONSTRUCT(&module->module_lock, opal_mutex_t);
|
OBJ_CONSTRUCT(&module->module_lock, opal_mutex_t);
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user