diff --git a/src/slurmctld/reservation.c b/src/slurmctld/reservation.c index c2b67798adf0f8e324a842350ed87b4ecb38b6d6..c5fea34c3284bec1932820e3df81490b957358a5 100644 --- a/src/slurmctld/reservation.c +++ b/src/slurmctld/reservation.c @@ -1645,8 +1645,20 @@ static void _set_tres_cnt(slurmctld_resv_t *resv_ptr, cpu_cnt += node_ptr->cpus; #endif } - } else if (resv_ptr->core_bitmap) + } else if (resv_ptr->core_bitmap) { cpu_cnt = bit_set_count(resv_ptr->core_bitmap); + if (resv_ptr->node_bitmap) { + for (i=0; i<node_record_count; i++, node_ptr++) { + if (!bit_test(resv_ptr->node_bitmap, i)) + continue; + if (slurmctld_conf.fast_schedule) + cpu_cnt *= + node_ptr->config_ptr->threads; + else + cpu_cnt *= node_ptr->threads; + } + } + } #ifdef HAVE_BG /* Since on a bluegene we track cnodes instead of cpus do the