diff --git a/opal/mca/hwloc/base/hwloc_base_util.c b/opal/mca/hwloc/base/hwloc_base_util.c index 98729afa1f..fb850f807f 100644 --- a/opal/mca/hwloc/base/hwloc_base_util.c +++ b/opal/mca/hwloc/base/hwloc_base_util.c @@ -1094,7 +1094,9 @@ static hwloc_obj_t df_search_level(hwloc_obj_t start, } else if (HWLOC_OBJ_PU == start->type) { *bind_level = OPAL_HWLOC_HWTHREAD_LEVEL; } else { - *bind_level = 0; + /* We don't know what level it is, so just assign it to + "node" */ + *bind_level = OPAL_HWLOC_NODE_LEVEL; } return start; } diff --git a/orte/mca/rmaps/ppr/rmaps_ppr.c b/orte/mca/rmaps/ppr/rmaps_ppr.c index dc7468c96d..af167aa1f8 100644 --- a/orte/mca/rmaps/ppr/rmaps_ppr.c +++ b/orte/mca/rmaps/ppr/rmaps_ppr.c @@ -421,7 +421,7 @@ static void prune(orte_jobid_t jobid, /* done */ return; } - *level -= 1; + --(*level); prune(jobid, app_idx, node, level, nmapped); return; } @@ -550,7 +550,7 @@ static void prune(orte_jobid_t jobid, if (0 == ll) { return; } - *level -= 1; + --(*level); prune(jobid, app_idx, node, level, nmapped); return; diff --git a/orte/util/nidmap.c b/orte/util/nidmap.c index 335afc1347..7e717b0960 100644 --- a/orte/util/nidmap.c +++ b/orte/util/nidmap.c @@ -651,7 +651,7 @@ int orte_util_decode_pidmap(opal_byte_object_t *bo) orte_local_rank_t *local_rank=NULL; orte_node_rank_t *node_rank=NULL; #if OPAL_HAVE_HWLOC - opal_hwloc_level_t bind_level = 0; + opal_hwloc_level_t bind_level = OPAL_HWLOC_NODE_LEVEL; unsigned int *bind_idx=NULL; #endif orte_std_cntr_t n;