|
Lines 639-650
static int _attempt_backfill(void)
Link Here
|
| 639 |
} |
639 |
} |
| 640 |
while ((job_queue_rec = (job_queue_rec_t *) |
640 |
while ((job_queue_rec = (job_queue_rec_t *) |
| 641 |
list_pop_bottom(job_queue, sort_job_queue2))) { |
641 |
list_pop_bottom(job_queue, sort_job_queue2))) { |
| 642 |
job_ptr = job_queue_rec->job_ptr; |
|
|
| 643 |
orig_time_limit = job_ptr->time_limit; |
| 644 |
|
| 645 |
if ((time(NULL) - sched_start) >= sched_timeout) { |
642 |
if ((time(NULL) - sched_start) >= sched_timeout) { |
| 646 |
uint32_t save_time_limit = job_ptr->time_limit; |
|
|
| 647 |
job_ptr->time_limit = orig_time_limit; |
| 648 |
if (debug_flags & DEBUG_FLAG_BACKFILL) { |
643 |
if (debug_flags & DEBUG_FLAG_BACKFILL) { |
| 649 |
END_TIMER; |
644 |
END_TIMER; |
| 650 |
info("backfill: completed yielding locks " |
645 |
info("backfill: completed yielding locks " |
|
Lines 660-672
static int _attempt_backfill(void)
Link Here
|
| 660 |
rc = 1; |
655 |
rc = 1; |
| 661 |
break; |
656 |
break; |
| 662 |
} |
657 |
} |
| 663 |
job_ptr->time_limit = save_time_limit; |
|
|
| 664 |
/* Reset backfill scheduling timers, resume testing */ |
658 |
/* Reset backfill scheduling timers, resume testing */ |
| 665 |
sched_start = time(NULL); |
659 |
sched_start = time(NULL); |
| 666 |
job_test_count = 0; |
660 |
job_test_count = 0; |
| 667 |
START_TIMER; |
661 |
START_TIMER; |
| 668 |
} |
662 |
} |
| 669 |
|
663 |
|
|
|
664 |
job_ptr = job_queue_rec->job_ptr; |
| 665 |
/* With bf_continue configured, the original job could have |
| 666 |
* been cancelled and purged. Validate pointer here. */ |
| 667 |
if ((job_ptr->magic != JOB_MAGIC) || |
| 668 |
(job_ptr->job_id != job_queue_rec->job_id)) |
| 669 |
continue; |
| 670 |
orig_time_limit = job_ptr->time_limit; |
| 670 |
part_ptr = job_queue_rec->part_ptr; |
671 |
part_ptr = job_queue_rec->part_ptr; |
| 671 |
job_test_count++; |
672 |
job_test_count++; |
| 672 |
|
673 |
|