[PATCH i-g-t 5/6] tests/i915/gem_exec_capture: Disable hangcheck and watchdog
Thomas Hellström
thomas.hellstrom at linux.intel.com
Mon Oct 25 06:54:27 UTC 2021
Disable hangcheck and set the watchdog timeout to something very
large in order to not have them interfere with the capturing. In
particular, hangcheck may start a parallell capture consuming
memory not accounted for, and more importantly, when the first
capture retires the hung request, the capture initiated by
hancheck will dereference freed memory. (This latter also needs
fixing in there kernel module).
The watchdog doesn't initiate an error capture but appears to end
up spinning waiting to do an engine reset.
Signed-off-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>
---
tests/i915/gem_exec_capture.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/tests/i915/gem_exec_capture.c b/tests/i915/gem_exec_capture.c
index 875e0b7b..6e2fc446 100644
--- a/tests/i915/gem_exec_capture.c
+++ b/tests/i915/gem_exec_capture.c
@@ -697,6 +697,7 @@ igt_main
igt_fixture {
int gen;
+ char *tmp;
fd = drm_open_driver(DRIVER_INTEL);
@@ -704,6 +705,27 @@ igt_main
if (gen > 3 && gen < 6) /* ctg and ilk need secure batches */
igt_device_set_master(fd);
+ /*
+ * Avoid having watchdog and hangcheck interfere with the
+ * capture.
+ */
+ tmp = __igt_params_get(fd, "request_timeout_ms");
+ if (tmp && atoi(tmp)) {
+ igt_params_save_and_set(fd, "request_timeout_ms", "%u",
+ 20000000);
+ tmp = __igt_params_get(fd, "request_timeout_ms");
+ igt_info("request_timeout_ms is \"%s\".\n", tmp);
+ }
+
+
+ tmp = __igt_params_get(fd, "enable_hangcheck");
+ if (tmp) {
+ igt_params_save_and_set(fd, "enable_hangcheck", "%u",
+ 0);
+ tmp = __igt_params_get(fd, "enable_hangcheck");
+ igt_info("enable_hangcheck is \"%s\".\n", tmp);
+ }
+
igt_require_gem(fd);
gem_require_mmap_device_coherent(fd);
igt_require(has_capture(fd));
--
2.31.1
More information about the Intel-gfx-trybot
mailing list