[Intel-gfx] [PATCH v1 1/1] drm/i915/sleftests: live_execlists subtest faster

Yokoyama, Caz caz.yokoyama at intel.com
Thu Mar 21 17:38:21 UTC 2019


It took 35-120sec because some of engines hang up and reset.
I guess too many requests are accumulated for all
prime numbers up to 32 and detected as hangup.
By adding wait, requests are processed on each prime number and not
accumulated. The test runs for 8.5sec.

Change-Id: I0d3732a202fef90d192fb84baf8275eeadb59c02
Signed-off-by: Yokoyama, Caz <caz.yokoyama at intel.com>
---
 drivers/gpu/drm/i915/selftests/intel_lrc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/selftests/intel_lrc.c b/drivers/gpu/drm/i915/selftests/intel_lrc.c
index d61520ea03c1..16befd2a74c6 100644
--- a/drivers/gpu/drm/i915/selftests/intel_lrc.c
+++ b/drivers/gpu/drm/i915/selftests/intel_lrc.c
@@ -621,7 +621,7 @@ static int live_chain_preempt(void *arg)
 			continue;
 
 		for_each_prime_number_from(count, 1, 32) { /* must fit ring! */
-			struct i915_request *rq;
+			struct i915_request *rq, *last_rq;
 
 			rq = igt_spinner_create_request(&hi.spin,
 							hi.ctx, engine,
@@ -645,6 +645,7 @@ static int live_chain_preempt(void *arg)
 					goto err_wedged;
 				i915_request_add(rq);
 			}
+			last_rq = rq;
 
 			rq = i915_request_alloc(engine, hi.ctx);
 			if (IS_ERR(rq))
@@ -664,6 +665,7 @@ static int live_chain_preempt(void *arg)
 				goto err_wedged;
 			}
 			igt_spinner_end(&lo.spin);
+			i915_request_wait(last_rq, I915_WAIT_ALL, 5*HZ);
 		}
 	}
 
-- 
2.17.1



More information about the Intel-gfx mailing list