* [OSSTEST PATCH 1/3] host allocation: Prepare for further starvation check
@ 2021-06-07 15:16 Ian Jackson
2021-06-07 15:16 ` [OSSTEST PATCH 2/3] host allocation: Check "job class" too Ian Jackson
2021-06-07 15:16 ` [OSSTEST PATCH 3/3] host allocation: Avoid starving out failing tests Ian Jackson
0 siblings, 2 replies; 3+ messages in thread
From: Ian Jackson @ 2021-06-07 15:16 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson
* Add a new job pattern parameter to $starvation_q
* Add a new $thisclass parameter to starving
* Pass 0 for now.
Signed-off-by: Ian Jackson <iwj@xenproject.org>
---
ts-hosts-allocate-Executive | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/ts-hosts-allocate-Executive b/ts-hosts-allocate-Executive
index 459b9215..9722ce12 100755
--- a/ts-hosts-allocate-Executive
+++ b/ts-hosts-allocate-Executive
@@ -162,6 +162,7 @@ END
LEFT JOIN steps
USING (flight,job)
WHERE flight= ?
+ AND job LIKE ?
GROUP BY job, jobs.status
END
@@ -822,11 +823,12 @@ sub most_optimistic ($$$) {
return $optimist->{Got};
}
-sub starving ($$) {
- my ($best_start_abs, $now) = @_;
+sub starving ($$$) {
+ my ($best_start_abs, $now, $thisclass) = @_;
return (0, 'runvar says never give up') unless %$starvation_p;
return (0, 'no estimate') unless defined $best_start_abs;
- $starvation_q->execute($flight);
+ my $joblike = $thisclass ? ($job =~ s/(?:(-)|\W).*/$1\%/r) : '%';
+ $starvation_q->execute($flight, $joblike);
my $d=0;
my $w=0;
my $maxfin=0;
@@ -935,7 +937,7 @@ sub attempt_allocation {
}
} elsif (%$starvation_p) {
my $est_abs = most_optimistic($best, $now, $starvation_p->{I});
- my ($starving, $m) = starving($est_abs, $now);
+ my ($starving, $m) = starving($est_abs, $now, 0);
$starvation_q->finish();
if (!$starving) {
print DEBUG "not starving: $m\n";
--
2.20.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [OSSTEST PATCH 2/3] host allocation: Check "job class" too
2021-06-07 15:16 [OSSTEST PATCH 1/3] host allocation: Prepare for further starvation check Ian Jackson
@ 2021-06-07 15:16 ` Ian Jackson
2021-06-07 15:16 ` [OSSTEST PATCH 3/3] host allocation: Avoid starving out failing tests Ian Jackson
1 sibling, 0 replies; 3+ messages in thread
From: Ian Jackson @ 2021-06-07 15:16 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson
That is all jobs which start with the same \w* as this job.
Signed-off-by: Ian Jackson <iwj@xenproject.org>
---
ts-hosts-allocate-Executive | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/ts-hosts-allocate-Executive b/ts-hosts-allocate-Executive
index 9722ce12..849bc97b 100755
--- a/ts-hosts-allocate-Executive
+++ b/ts-hosts-allocate-Executive
@@ -937,12 +937,20 @@ sub attempt_allocation {
}
} elsif (%$starvation_p) {
my $est_abs = most_optimistic($best, $now, $starvation_p->{I});
- my ($starving, $m) = starving($est_abs, $now, 0);
+ my $all_starving = 1;
+ foreach my $thisclass (qw(1 0)) {
+ my $tcdesc = $thisclass ? 'class' : 'flight';
+ my ($starving, $m) = starving($est_abs, $now, $thisclass);
+ if (!$starving) {
+ print DEBUG "not starving ($tcdesc): $m\n";
+ $all_starving = 0;
+ last;
+ } else {
+ logm "starving ($tcdesc) ($m)";
+ }
+ }
$starvation_q->finish();
- if (!$starving) {
- print DEBUG "not starving: $m\n";
- } else {
- logm "starving ($m)";
+ if ($all_starving) {
return $alloc_starved_r;
}
}
--
2.20.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [OSSTEST PATCH 3/3] host allocation: Avoid starving out failing tests
2021-06-07 15:16 [OSSTEST PATCH 1/3] host allocation: Prepare for further starvation check Ian Jackson
2021-06-07 15:16 ` [OSSTEST PATCH 2/3] host allocation: Check "job class" too Ian Jackson
@ 2021-06-07 15:16 ` Ian Jackson
1 sibling, 0 replies; 3+ messages in thread
From: Ian Jackson @ 2021-06-07 15:16 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson
This can result in bad pushes. Better to wait.
Signed-off-by: Ian Jackson <iwj@xenproject.org>
---
ts-hosts-allocate-Executive | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/ts-hosts-allocate-Executive b/ts-hosts-allocate-Executive
index 849bc97b..4dfcd0cd 100755
--- a/ts-hosts-allocate-Executive
+++ b/ts-hosts-allocate-Executive
@@ -704,6 +704,7 @@ sub hid_recurse ($$) {
Selections => [ map { $_->{Selected} } @hids ],
Start => $start_time,
Duration => $duration,
+ PrevFail => ($previously_failed || $previously_failed_equiv),
};
}
}
@@ -951,7 +952,11 @@ sub attempt_allocation {
}
$starvation_q->finish();
if ($all_starving) {
- return $alloc_starved_r;
+ if (!$best->{PrevFail}) {
+ return $alloc_starved_r;
+ } else {
+ logm "starving, but previously failed, so continue...";
+ }
}
}
}
--
2.20.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-06-07 15:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-07 15:16 [OSSTEST PATCH 1/3] host allocation: Prepare for further starvation check Ian Jackson
2021-06-07 15:16 ` [OSSTEST PATCH 2/3] host allocation: Check "job class" too Ian Jackson
2021-06-07 15:16 ` [OSSTEST PATCH 3/3] host allocation: Avoid starving out failing tests Ian Jackson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.