diff --git a/src/plugins/select/bluegene/ba/block_allocator.c b/src/plugins/select/bluegene/ba/block_allocator.c index 49711e4ed839eec0fd65147bb9d501b11ccf801a..41e2e19626fb6922eb7b15c5d3cf703f57534f8c 100644 --- a/src/plugins/select/bluegene/ba/block_allocator.c +++ b/src/plugins/select/bluegene/ba/block_allocator.c @@ -941,12 +941,15 @@ extern char *set_bg_block(List results, select_ba_request_t* ba_request) /* This midplane should have already been checked if it was in use or not */ list_append(results, ba_node); + if (ba_request->conn_type[0] >= SELECT_SMALL) { /* adding the ba_node and ending */ ba_node->used |= BA_MP_USED_TRUE; name = xstrdup_printf("%s", ba_node->coord_str); goto end_it; - } + } else if (ba_request->conn_type[0] == SELECT_NAV) + ba_request->conn_type[0] = bg_conf->default_conn_type[0]; + found = _find_x_path(results, ba_node, ba_node->coord, ba_request->geometry[X], diff --git a/src/plugins/select/bluegene/ba_bgq/block_allocator.c b/src/plugins/select/bluegene/ba_bgq/block_allocator.c index 656bf135bb7161e81e5fb12b2b74b191a9fdf482..b6d0ccf41a750215c8c708ecb2b60985c8abd7cb 100644 --- a/src/plugins/select/bluegene/ba_bgq/block_allocator.c +++ b/src/plugins/select/bluegene/ba_bgq/block_allocator.c @@ -837,13 +837,21 @@ extern char *set_bg_block(List results, select_ba_request_t* ba_request) ba_mp->used = BA_MP_USED_ALTERED; list_append(main_mps, ba_mp); } - /* If we are going to take up the entire dimension might as well force it to be TORUS. */ for (dim=0; dim<cluster_dims; dim++) { - if ((ba_request->conn_type[dim] == SELECT_MESH) - && (ba_geo_table->geometry[dim] == 1)) + if (ba_request->conn_type[dim] == SELECT_NAV) { + /* On a Q all single midplane blocks must be a + TORUS. */ + if (ba_request->size == 1) + ba_request->conn_type[dim] = + SELECT_TORUS; + else + ba_request->conn_type[dim] = + bg_conf->default_conn_type[dim]; + } else if ((ba_request->conn_type[dim] == SELECT_MESH) + && (ba_geo_table->geometry[dim] == 1)) ba_request->conn_type[dim] = SELECT_TORUS; else if ((ba_request->conn_type[dim] == SELECT_MESH) && (ba_geo_table->geometry[dim] diff --git a/src/plugins/select/bluegene/bg_dynamic_block.c b/src/plugins/select/bluegene/bg_dynamic_block.c index 82c7372087541de77bb7c4400c601b750a8eca03..ff0fa9a20a819228456460a5023123f561e9c365 100644 --- a/src/plugins/select/bluegene/bg_dynamic_block.c +++ b/src/plugins/select/bluegene/bg_dynamic_block.c @@ -294,23 +294,6 @@ extern List create_dynamic_block(List block_list, info("small block not able to be placed inside others"); } - if (request->conn_type[0] == SELECT_NAV) { -#ifndef HAVE_BG_L_P - int dim; - for (dim = 0; dim < SYSTEM_DIMENSIONS; dim++) { - /* On a Q all single midplane blocks must be a - TORUS. */ - if (request->size == 1) - request->conn_type[dim] = SELECT_TORUS; - else - request->conn_type[dim] = - bg_conf->default_conn_type[dim]; - } -#else - request->conn_type[0] = bg_conf->default_conn_type[0]; -#endif - } - //debug("going to create %d", request->size); if (!new_ba_request(request)) { if (request->geometry[0] != (uint16_t)NO_VAL) {