[igt-dev] [PATCH i-g-t 2/2] tests/gem_exec_fence: Coordinate sleep with the start of the request

Karolina Drobnik karolina.drobnik at intel.com
Wed Jul 20 14:01:04 UTC 2022


From: Chris Wilson <chris at chris-wilson.co.uk>

Wait until we know the request is running on the GPU before sleeping
and giving a chance for other fences to run ahead.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Signed-off-by: Karolina Drobnik <karolina.drobnik at intel.com>
---
 tests/i915/gem_exec_fence.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tests/i915/gem_exec_fence.c b/tests/i915/gem_exec_fence.c
index c1bd2a38..5f15fbdd 100644
--- a/tests/i915/gem_exec_fence.c
+++ b/tests/i915/gem_exec_fence.c
@@ -324,7 +324,10 @@ static void test_fence_await(int fd, const intel_ctx_t *ctx,
 			    .ahnd = ahnd,
 			    .ctx = ctx,
 			    .engine = e->flags,
-			    .flags = IGT_SPIN_FENCE_OUT | spin_hang(flags));
+			    .flags =
+			    IGT_SPIN_FENCE_OUT |
+			    IGT_SPIN_POLL_RUN |
+			    spin_hang(flags));
 	igt_assert(spin->out_fence != -1);
 
 	i = 0;
@@ -347,6 +350,7 @@ static void test_fence_await(int fd, const intel_ctx_t *ctx,
 		i++;
 	}
 
+	igt_spin_busywait_until_started(spin);
 	/* Long, but not too long to anger preemption disable checks */
 	usleep(50 * 1000); /* 50 ms, typical preempt reset is 150+ms */
 
-- 
2.25.1



More information about the igt-dev mailing list