View | Details | Raw Unified | Return to ticket 911 | Differences between
and this patch

Collapse All | Expand All

(-)a/src/plugins/sched/backfill/backfill.c (-9 / +2 lines)
Lines 611-617 static int _attempt_backfill(void) Link Here
611
	uint32_t min_nodes, max_nodes, req_nodes;
611
	uint32_t min_nodes, max_nodes, req_nodes;
612
	bitstr_t *avail_bitmap = NULL, *resv_bitmap = NULL;
612
	bitstr_t *avail_bitmap = NULL, *resv_bitmap = NULL;
613
	bitstr_t *exc_core_bitmap = NULL, *non_cg_bitmap = NULL;
613
	bitstr_t *exc_core_bitmap = NULL, *non_cg_bitmap = NULL;
614
	bitstr_t *previous_bitmap = NULL;
615
	time_t now, sched_start, later_start, start_res, resv_end, window_end;
614
	time_t now, sched_start, later_start, start_res, resv_end, window_end;
616
	node_space_map_t *node_space;
615
	node_space_map_t *node_space;
617
	struct timeval bf_time1, bf_time2;
616
	struct timeval bf_time1, bf_time2;
Lines 915-921 static int _attempt_backfill(void) Link Here
915
914
916
		/* Determine impact of any resource reservations */
915
		/* Determine impact of any resource reservations */
917
		later_start = now;
916
		later_start = now;
918
		FREE_NULL_BITMAP(previous_bitmap);
919
 TRY_LATER:
917
 TRY_LATER:
920
		if (slurmctld_config.shutdown_time)
918
		if (slurmctld_config.shutdown_time)
921
			break;
919
			break;
Lines 1024-1045 static int _attempt_backfill(void) Link Here
1024
		    ((job_ptr->details->req_node_bitmap) &&
1022
		    ((job_ptr->details->req_node_bitmap) &&
1025
		     (!bit_super_set(job_ptr->details->req_node_bitmap,
1023
		     (!bit_super_set(job_ptr->details->req_node_bitmap,
1026
				     avail_bitmap))) ||
1024
				     avail_bitmap))) ||
1027
		    (job_req_node_filter(job_ptr, avail_bitmap)) ||
1025
		    (job_req_node_filter(job_ptr, avail_bitmap))) {
1028
		    (previous_bitmap &&
1029
		     bit_equal(previous_bitmap, avail_bitmap))) {
1030
			if (later_start) {
1026
			if (later_start) {
1031
				job_ptr->start_time = 0;
1027
				job_ptr->start_time = 0;
1032
				goto TRY_LATER;
1028
				goto TRY_LATER;
1033
			}
1029
			}
1030
1034
			/* Job can not start until too far in the future */
1031
			/* Job can not start until too far in the future */
1035
			job_ptr->time_limit = orig_time_limit;
1032
			job_ptr->time_limit = orig_time_limit;
1036
			job_ptr->start_time = sched_start + backfill_window;
1033
			job_ptr->start_time = sched_start + backfill_window;
1037
			continue;
1034
			continue;
1038
		}
1035
		}
1039
1036
1040
		FREE_NULL_BITMAP(previous_bitmap);
1041
		previous_bitmap = bit_copy(avail_bitmap);
1042
1043
		/* Identify nodes which are definitely off limits */
1037
		/* Identify nodes which are definitely off limits */
1044
		FREE_NULL_BITMAP(resv_bitmap);
1038
		FREE_NULL_BITMAP(resv_bitmap);
1045
		resv_bitmap = bit_copy(avail_bitmap);
1039
		resv_bitmap = bit_copy(avail_bitmap);
Lines 1215-1221 static int _attempt_backfill(void) Link Here
1215
	FREE_NULL_BITMAP(exc_core_bitmap);
1209
	FREE_NULL_BITMAP(exc_core_bitmap);
1216
	FREE_NULL_BITMAP(resv_bitmap);
1210
	FREE_NULL_BITMAP(resv_bitmap);
1217
	FREE_NULL_BITMAP(non_cg_bitmap);
1211
	FREE_NULL_BITMAP(non_cg_bitmap);
1218
	FREE_NULL_BITMAP(previous_bitmap);
1219
1212
1220
	for (i=0; ; ) {
1213
	for (i=0; ; ) {
1221
		FREE_NULL_BITMAP(node_space[i].avail_bitmap);
1214
		FREE_NULL_BITMAP(node_space[i].avail_bitmap);

Return to ticket 911