|
Lines 1516-1521
static int _attempt_backfill(void)
Link Here
|
| 1516 |
time_t qos_blocked_until = 0, qos_part_blocked_until = 0; |
1516 |
time_t qos_blocked_until = 0, qos_part_blocked_until = 0; |
| 1517 |
time_t tmp_preempt_start_time = 0; |
1517 |
time_t tmp_preempt_start_time = 0; |
| 1518 |
bool tmp_preempt_in_progress = false; |
1518 |
bool tmp_preempt_in_progress = false; |
|
|
1519 |
bitstr_t *tmp_bitmap = NULL, *next_bitmap = NULL, *current_bitmap= NULL; |
| 1519 |
/* QOS Read lock */ |
1520 |
/* QOS Read lock */ |
| 1520 |
assoc_mgr_lock_t qos_read_lock = |
1521 |
assoc_mgr_lock_t qos_read_lock = |
| 1521 |
{ NO_LOCK, NO_LOCK, READ_LOCK, NO_LOCK, |
1522 |
{ NO_LOCK, NO_LOCK, READ_LOCK, NO_LOCK, |
|
Lines 2066-2075
next_task:
Link Here
|
| 2066 |
bit_and_not(avail_bitmap, bf_ignore_node_bitmap); |
2067 |
bit_and_not(avail_bitmap, bf_ignore_node_bitmap); |
| 2067 |
filter_by_node_owner(job_ptr, avail_bitmap); |
2068 |
filter_by_node_owner(job_ptr, avail_bitmap); |
| 2068 |
filter_by_node_mcs(job_ptr, mcs_select, avail_bitmap); |
2069 |
filter_by_node_mcs(job_ptr, mcs_select, avail_bitmap); |
|
|
2070 |
tmp_bitmap = bit_copy(avail_bitmap); |
| 2069 |
for (j = 0; ; ) { |
2071 |
for (j = 0; ; ) { |
| 2070 |
if ((node_space[j].end_time > start_res) && |
2072 |
if ((node_space[j].end_time > start_res) && |
| 2071 |
node_space[j].next && (later_start == 0)) |
2073 |
node_space[j].next && (later_start == 0)) { |
| 2072 |
later_start = node_space[j].end_time; |
2074 |
int tmp = node_space[j].next; |
|
|
2075 |
next_bitmap = bit_copy(tmp_bitmap); |
| 2076 |
current_bitmap = bit_copy(avail_bitmap); |
| 2077 |
bit_and(next_bitmap, |
| 2078 |
node_space[tmp].avail_bitmap); |
| 2079 |
bit_and(current_bitmap, |
| 2080 |
node_space[j].avail_bitmap); |
| 2081 |
if (!bit_super_set(next_bitmap,current_bitmap)) |
| 2082 |
later_start = node_space[j].end_time; |
| 2083 |
FREE_NULL_BITMAP(next_bitmap); |
| 2084 |
FREE_NULL_BITMAP(current_bitmap); |
| 2085 |
} |
| 2073 |
if (node_space[j].end_time <= start_res) |
2086 |
if (node_space[j].end_time <= start_res) |
| 2074 |
; |
2087 |
; |
| 2075 |
else if (node_space[j].begin_time <= end_time) { |
2088 |
else if (node_space[j].begin_time <= end_time) { |
|
Lines 2080-2085
next_task:
Link Here
|
| 2080 |
if ((j = node_space[j].next) == 0) |
2093 |
if ((j = node_space[j].next) == 0) |
| 2081 |
break; |
2094 |
break; |
| 2082 |
} |
2095 |
} |
|
|
2096 |
FREE_NULL_BITMAP(tmp_bitmap); |
| 2083 |
if (resv_end && (++resv_end < window_end) && |
2097 |
if (resv_end && (++resv_end < window_end) && |
| 2084 |
((later_start == 0) || (resv_end < later_start))) { |
2098 |
((later_start == 0) || (resv_end < later_start))) { |
| 2085 |
later_start = resv_end; |
2099 |
later_start = resv_end; |