From c656c8b21702bc09bccc52acc173ec41c86698cf Mon Sep 17 00:00:00 2001 From: Danny Auble <da@schedmd.com> Date: Wed, 23 Nov 2011 07:51:47 -0800 Subject: [PATCH] BLUEGENE - calculate cpus count more correctly when placing a job. --- src/plugins/select/bluegene/bg_job_place.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/plugins/select/bluegene/bg_job_place.c b/src/plugins/select/bluegene/bg_job_place.c index a009bad9433..7cbf094338d 100644 --- a/src/plugins/select/bluegene/bg_job_place.c +++ b/src/plugins/select/bluegene/bg_job_place.c @@ -1403,25 +1403,21 @@ static void _build_select_struct(struct job_record *job_ptr, job_resrcs_ptr->cpus_used = xmalloc(sizeof(uint16_t) * node_cnt); /* job_resrcs_ptr->nhosts = node_cnt; */ job_resrcs_ptr->nhosts = bit_set_count(bitmap); - job_resrcs_ptr->ncpus = job_ptr->details->min_cpus; - job_resrcs_ptr->node_bitmap = bit_copy(bitmap); - job_resrcs_ptr->nodes = bitmap2node_name(bitmap); - if (job_resrcs_ptr->node_bitmap == NULL) + + if (!(job_resrcs_ptr->node_bitmap = bit_copy(bitmap))) fatal("bit_copy malloc failure"); + job_resrcs_ptr->nodes = xstrdup(bg_record->mp_str); + job_resrcs_ptr->cpu_array_cnt = 1; job_resrcs_ptr->cpu_array_value[0] = bg_conf->cpu_ratio; job_resrcs_ptr->cpu_array_reps[0] = node_cnt; - job_ptr->total_cpus = job_ptr->cpu_cnt = job_ptr->details->min_cpus = + job_resrcs_ptr->ncpus = job_ptr->total_cpus = + job_ptr->cpu_cnt = job_ptr->details->min_cpus = bg_conf->cpu_ratio * node_cnt; for (i=0; i<node_cnt; i++) job_resrcs_ptr->cpus[i] = bg_conf->cpu_ratio; - - if (job_resrcs_ptr->ncpus != job_ptr->total_cpus) { - error("select_p_job_test: ncpus mismatch %u != %u", - job_resrcs_ptr->ncpus, job_ptr->total_cpus); - } } static List _get_preemptables(uint16_t query_mode, bg_record_t *bg_record, -- GitLab