Merge pull request #1236 from artpol84/ib_addproc_mem_fix
Fix openib memory registration limit calculation if cutoff = 0.
Этот коммит содержится в:
Коммит
6d67719f5a
@ -1044,7 +1044,7 @@ int mca_btl_openib_add_procs(
|
|||||||
}
|
}
|
||||||
|
|
||||||
openib_btl->local_procs += local_procs;
|
openib_btl->local_procs += local_procs;
|
||||||
openib_btl->device->mem_reg_max /= openib_btl->local_procs;
|
openib_btl->device->mem_reg_max = openib_btl->device->mem_reg_max_total / openib_btl->local_procs;
|
||||||
|
|
||||||
return OPAL_SUCCESS;
|
return OPAL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -409,7 +409,7 @@ typedef struct mca_btl_openib_device_t {
|
|||||||
/* Maximum value supported by this device for max_inline_data */
|
/* Maximum value supported by this device for max_inline_data */
|
||||||
uint32_t max_inline_data;
|
uint32_t max_inline_data;
|
||||||
/* Registration limit and current count */
|
/* Registration limit and current count */
|
||||||
uint64_t mem_reg_max, mem_reg_active;
|
uint64_t mem_reg_max, mem_reg_max_total, mem_reg_active;
|
||||||
/* Device is ready for use */
|
/* Device is ready for use */
|
||||||
bool ready_for_use;
|
bool ready_for_use;
|
||||||
/* Async event */
|
/* Async event */
|
||||||
|
@ -1630,7 +1630,8 @@ static int init_one_device(opal_list_t *btl_list, struct ibv_device* ib_dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
device->mem_reg_active = 0;
|
device->mem_reg_active = 0;
|
||||||
device->mem_reg_max = calculate_max_reg(ibv_get_device_name(ib_dev));
|
device->mem_reg_max_total = calculate_max_reg(ibv_get_device_name(ib_dev));
|
||||||
|
device->mem_reg_max = device->mem_reg_max_total;
|
||||||
if(( 0 == device->mem_reg_max) && mca_btl_openib_component.abort_not_enough_reg_mem) {
|
if(( 0 == device->mem_reg_max) && mca_btl_openib_component.abort_not_enough_reg_mem) {
|
||||||
return OPAL_ERROR;
|
return OPAL_ERROR;
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user