From a19c352540e352c1171cdbccf1e55f93fb8aedbd Mon Sep 17 00:00:00 2001 From: Morris Jette <jette@schedmd.com> Date: Wed, 7 Jan 2015 16:00:24 -0800 Subject: [PATCH] burst_buffer/cray This gets BB working with job arrays --- src/slurmctld/job_scheduler.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/slurmctld/job_scheduler.c b/src/slurmctld/job_scheduler.c index 25afec6048d..fa8537ee0e5 100644 --- a/src/slurmctld/job_scheduler.c +++ b/src/slurmctld/job_scheduler.c @@ -83,7 +83,9 @@ #include "src/slurmctld/sched_plugin.h" #define _DEBUG 0 -#define BB_STAGE_JOB_CNT 1 +#ifndef BB_STAGE_ARRAY_TASK_CNT +# define BB_STAGE_ARRAY_TASK_CNT 4 +#endif #define BUILD_TIMEOUT 2000000 /* Max build_job_queue() run time in usec */ #define MAX_FAILED_RESV 10 #define MAX_RETRIES 10 @@ -320,10 +322,15 @@ extern List build_job_queue(bool clear_start, bool backfill) if ((i = bit_ffs(job_ptr->array_recs->task_id_bitmap)) < 0) continue; pend_cnt = num_pending_job_array_tasks(job_ptr->array_job_id); - if (pend_cnt >= BB_STAGE_JOB_CNT) + if (pend_cnt >= BB_STAGE_ARRAY_TASK_CNT) + continue; + if (job_ptr->array_recs->task_cnt < 1) continue; - if (job_ptr->array_recs->task_cnt <= 1) + if (job_ptr->array_recs->task_cnt == 1) { + job_ptr->array_task_id = i; + job_array_post_sched(job_ptr); continue; + } job_ptr->array_task_id = i; new_job_ptr = job_array_split(job_ptr); if (new_job_ptr) { -- GitLab