Bug fix for #1376.
If IBCM was explicitly specified with exclude/include parameter, OpenIB BTL will enable verbose report for "/dev/infiniband/ucm" error, other way the error will not be reported. This commit was SVN r18868.
Этот коммит содержится в:
родитель
30f0b33274
Коммит
a34bb98f8a
@ -238,6 +238,7 @@ struct mca_btl_openib_component_t {
|
||||
#endif
|
||||
int rdma_qp;
|
||||
int credits_qp; /* qp used for software flow control */
|
||||
bool cpc_explicitly_defined;
|
||||
/**< free list of frags only; used for pining user memory */
|
||||
ompi_free_list_t send_user_free;
|
||||
/**< free list of frags only; used for pining user memory */
|
||||
|
@ -135,6 +135,7 @@ int btl_openib_component_open(void)
|
||||
mca_btl_openib_component.openib_btls = NULL;
|
||||
OBJ_CONSTRUCT(&mca_btl_openib_component.hcas, opal_pointer_array_t);
|
||||
mca_btl_openib_component.hcas_count = 0;
|
||||
mca_btl_openib_component.cpc_explicitly_defined = false;
|
||||
|
||||
/* initialize objects */
|
||||
OBJ_CONSTRUCT(&mca_btl_openib_component.ib_procs, opal_list_t);
|
||||
|
@ -106,6 +106,7 @@ int ompi_btl_openib_connect_base_register(void)
|
||||
/* If we have an "include" list, then find all those CPCs and put
|
||||
them in available[] */
|
||||
if (NULL != cpc_include) {
|
||||
mca_btl_openib_component.cpc_explicitly_defined = true;
|
||||
temp = opal_argv_split(cpc_include, ',');
|
||||
for (save = j = 0; NULL != temp[j]; ++j) {
|
||||
for (i = 0; NULL != all[i]; ++i) {
|
||||
@ -133,6 +134,7 @@ int ompi_btl_openib_connect_base_register(void)
|
||||
/* Otherwise, if we have an "exclude" list, take all the CPCs that
|
||||
are not in that list and put them in available[] */
|
||||
else if (NULL != cpc_exclude) {
|
||||
mca_btl_openib_component.cpc_explicitly_defined = true;
|
||||
temp = opal_argv_split(cpc_exclude, ',');
|
||||
/* First: error check -- ensure that all the names are valid */
|
||||
for (j = 0; NULL != temp[j]; ++j) {
|
||||
|
@ -720,7 +720,9 @@ static int ibcm_component_query(mca_btl_openib_module_t *btl,
|
||||
/* We can't open the device for some reason (can't read,
|
||||
can't write, doesn't exist, ...etc.); IBCM is not setup
|
||||
on this node. */
|
||||
BTL_ERROR(("failed to open IB CM device: %s", filename));
|
||||
if (mca_btl_openib_component.cpc_explicitly_defined) {
|
||||
BTL_ERROR(("failed to open IB CM device: %s", filename));
|
||||
}
|
||||
free(filename);
|
||||
rc = OMPI_ERR_NOT_SUPPORTED;
|
||||
goto error;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user