[Intel-gfx] [PATCH i-g-t] i915/gem_exec_reloc: Add SIGINT injection

Chris Wilson chris at chris-wilson.co.uk
Wed Jan 29 22:24:56 UTC 2020


Do a pass over gem_exec_reloc where we inject lots of SIGINTs.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Antonio Argenziano <antonio.argenziano at intel.com>
---
 tests/i915/gem_exec_reloc.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/tests/i915/gem_exec_reloc.c b/tests/i915/gem_exec_reloc.c
index bc904a0ae..1aa03fba3 100644
--- a/tests/i915/gem_exec_reloc.c
+++ b/tests/i915/gem_exec_reloc.c
@@ -379,7 +379,8 @@ static bool has_64b_reloc(int fd)
 
 #define NORELOC 1
 #define ACTIVE 2
-#define HANG 4
+#define INTERRUPTIBLE 4
+#define HANG 8
 static void basic_reloc(int fd, unsigned before, unsigned after, unsigned flags)
 {
 #define OBJSZ 8192
@@ -735,6 +736,7 @@ igt_main
 		{ "", 0 , true},
 		{ "-noreloc", NORELOC, true },
 		{ "-active", ACTIVE, true },
+		{ "-interruptible", ACTIVE | INTERRUPTIBLE },
 		{ "-hang", ACTIVE | HANG },
 		{ },
 	}, *f;
@@ -762,14 +764,17 @@ igt_main
 					      f->name) {
 					if ((m->before | m->after) & I915_GEM_DOMAIN_WC)
 						igt_require(gem_mmap__has_wc(fd));
-					basic_reloc(fd, m->before, m->after, f->flags);
+					igt_while_interruptible(f->flags & INTERRUPTIBLE)
+						basic_reloc(fd, m->before, m->after, f->flags);
 				}
 			}
 
 			if (!(f->flags & NORELOC)) {
 				igt_subtest_f("%srange%s",
-					      f->basic ? "basic-" : "", f->name)
-					basic_range(fd, f->flags);
+					      f->basic ? "basic-" : "", f->name) {
+					igt_while_interruptible(f->flags & INTERRUPTIBLE)
+						basic_range(fd, f->flags);
+				}
 			}
 
 			igt_fixture {
-- 
2.25.0



More information about the Intel-gfx mailing list