From dd2347779976f659fa9841fe68b70a99662cb92d Mon Sep 17 00:00:00 2001 From: Danny Auble <da@llnl.gov> Date: Wed, 1 Jun 2011 16:33:26 -0700 Subject: [PATCH] BLUEGENE - Fixed issue where the ionodes weren't set up correctly on a Q system --- .../select/bluegene/ba_bgq/block_allocator.c | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/plugins/select/bluegene/ba_bgq/block_allocator.c b/src/plugins/select/bluegene/ba_bgq/block_allocator.c index bcb9455a943..10cc5f51718 100644 --- a/src/plugins/select/bluegene/ba_bgq/block_allocator.c +++ b/src/plugins/select/bluegene/ba_bgq/block_allocator.c @@ -1077,6 +1077,7 @@ extern ba_mp_t *ba_pick_sub_block_cnodes( geo_table = ba_mp_geo_system->geo_table_ptr[*node_count]; } list_iterator_destroy(itr); + return ba_mp; } @@ -1190,17 +1191,24 @@ extern char *ba_set_ionode_str(bitstr_t *ionode_bitmap) for (ionode_num = bit_ffs(ionode_bitmap); ionode_num <= bit_fls(ionode_bitmap); ionode_num++) { + int nc_num, nc_start, nc_end; if (!bit_test(ionode_bitmap, ionode_num)) continue; - if (_ba_set_ionode_str_internal( - 0, coords, - g_nc_coords[ionode_num].start, - g_nc_coords[ionode_num].end, - hl) - == -1) { - hostlist_destroy(hl); - hl = NULL; - break; + + nc_start = ionode_num * (int)bg_conf->nc_ratio; + nc_end = nc_start + (int)bg_conf->nc_ratio; + + for (nc_num = nc_start; nc_num < nc_end; nc_num++) { + if (_ba_set_ionode_str_internal( + 0, coords, + g_nc_coords[nc_num].start, + g_nc_coords[nc_num].end, + hl) + == -1) { + hostlist_destroy(hl); + hl = NULL; + break; + } } } if (hl) { -- GitLab