All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH i-g-t v2] runner: Don't kill a test on taint if watching timeouts
@ 2020-12-04 19:50 Janusz Krzysztofik
  2020-12-04 20:54 ` [igt-dev] ✓ Fi.CI.BAT: success for runner: Don't kill a test on taint if watching timeouts (rev2) Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Janusz Krzysztofik @ 2020-12-04 19:50 UTC (permalink / raw)
  To: igt-dev; +Cc: intel-gfx, Chris Wilson

We may still be interested in results of a test even if it has tainted
the kernel.  On the other hand, we need to kill the test on taint if no
other means of killing it on a jam is active.

If abort on both kernel taint or a timeout is requested, decrease all
potential timeouts significantly while the taint is detected instead of
aborting immediately.  However, report the taint as the reason of the
abort if a timeout decreased by the taint expires.

v2: Fix missing show_kernel_task_state() lost on rebase conflict
    resolution (Chris - thanks!)

Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
---
 runner/executor.c | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/runner/executor.c b/runner/executor.c
index 1688ae41d..faf272d85 100644
--- a/runner/executor.c
+++ b/runner/executor.c
@@ -726,6 +726,8 @@ static const char *need_to_timeout(struct settings *settings,
 				   double time_since_kill,
 				   size_t disk_usage)
 {
+	int decrease = 1;
+
 	if (killed) {
 		/*
 		 * Timeout after being killed is a hardcoded amount
@@ -753,20 +755,32 @@ static const char *need_to_timeout(struct settings *settings,
 	}
 
 	/*
-	 * If we're configured to care about taints, kill the
-	 * test if there's a taint.
+	 * If we're configured to care about taints,
+	 * decrease timeouts in use if there's a taint,
+	 * or kill the test if no timeouts have been requested.
 	 */
 	if (settings->abort_mask & ABORT_TAINT &&
-	    is_tainted(taints))
-		return "Killing the test because the kernel is tainted.\n";
+	    is_tainted(taints)) {
+		/* list of timeouts that may postpone immediate kill on taint */
+		if (settings->per_test_timeout || settings->inactivity_timeout)
+			decrease = 10;
+		else
+			return "Killing the test because the kernel is tainted.\n";
+	}
 
 	if (settings->per_test_timeout != 0 &&
-	    time_since_subtest > settings->per_test_timeout)
+	    time_since_subtest > settings->per_test_timeout / decrease) {
+		if (decrease > 1)
+			return "Killing the test because the kernel is tainted.\n";
 		return show_kernel_task_state("Per-test timeout exceeded. Killing the current test with SIGQUIT.\n");
+	}
 
 	if (settings->inactivity_timeout != 0 &&
-	    time_since_activity > settings->inactivity_timeout)
+	    time_since_activity > settings->inactivity_timeout / decrease ) {
+		if (decrease > 1)
+			return "Killing the test because the kernel is tainted.\n";
 		return show_kernel_task_state("Inactivity timeout exceeded. Killing the current test with SIGQUIT.\n");
+	}
 
 	if (disk_usage_limit_exceeded(settings, disk_usage))
 		return "Disk usage limit exceeded.\n";
-- 
2.21.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-01-07 10:06 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-04 19:50 [Intel-gfx] [PATCH i-g-t v2] runner: Don't kill a test on taint if watching timeouts Janusz Krzysztofik
2020-12-04 20:54 ` [igt-dev] ✓ Fi.CI.BAT: success for runner: Don't kill a test on taint if watching timeouts (rev2) Patchwork
2020-12-05  0:13 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2020-12-07 10:46   ` Janusz Krzysztofik
2020-12-07 13:09 ` [Intel-gfx] [PATCH i-g-t v2] runner: Don't kill a test on taint if watching timeouts Petri Latvala
2020-12-07 13:09   ` [igt-dev] " Petri Latvala
2020-12-07 13:18   ` [Intel-gfx] " Janusz Krzysztofik
2020-12-07 13:18     ` [igt-dev] " Janusz Krzysztofik
2020-12-08 17:39 ` [igt-dev] ✓ Fi.CI.IGT: success for runner: Don't kill a test on taint if watching timeouts (rev2) Patchwork
2021-01-06  9:41 ` [Intel-gfx] [PATCH i-g-t v2] runner: Don't kill a test on taint if watching timeouts Chris Wilson
2021-01-06  9:41   ` [igt-dev] " Chris Wilson
2021-01-07  9:40   ` [Intel-gfx] " Petri Latvala
2021-01-07  9:49     ` Chris Wilson
2021-01-07  9:49       ` [igt-dev] " Chris Wilson
2021-01-07 10:06       ` [Intel-gfx] [igt-dev] " Petri Latvala

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.