[PATCH i-g-t] i915/gem_exec_scheduler: Disable alarm before exiting child

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Still the blighted

Starting subtest: pi-ringfull-bsd
child 0 died with signal 14, Alarm clock
Subtest pi-ringfull-bsd: FAIL (0.133s)

So let's make sure our timer cannot fire later on during exit.

References https://bugs.freedesktop.org/show_bug.cgi?id=109584
Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
---
 tests/i915/gem_exec_schedule.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
index d11e57363..00f9528a3 100644
--- a/tests/i915/gem_exec_schedule.c
+++ b/tests/i915/gem_exec_schedule.c
@@ -1153,7 +1153,9 @@ static void test_pi_ringfull(int fd, unsigned int engine)
 	bind_to_cpu(0);
 
 	igt_fork(child, 1) {
-		result[0] = true;
+		int err;
+
+		result[0] = vip != execbuf.rsvd1;
 
 		igt_debug("Waking parent\n");
 		kill(getppid(), SIGALRM);
@@ -1170,12 +1172,18 @@ static void test_pi_ringfull(int fd, unsigned int engine)
 		 */
 		igt_debug("HP child executing\n");
 		execbuf.rsvd1 = vip;
-		result[2] = __execbuf(fd, &execbuf) == 0;
+		err = __execbuf(fd, &execbuf);
+		igt_debug("HP execbuf returned %d\n", err);
+
+		memset(&itv, 0, sizeof(itv));
+		setitimer(ITIMER_REAL, &itv, NULL);
+
+		result[2] = err == 0;
 	}
 
 	/* Relinquish CPU just to allow child to create a context */
 	sleep(1);
-	igt_assert_f(result[0], "HP context (child) not created");
+	igt_assert_f(result[0], "HP context (child) not created\n");
 	igt_assert_f(!result[1], "Child released too early!\n");
 
 	/* Parent sleeps waiting for ringspace, releasing child */
-- 
2.20.1

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




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux