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

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

 



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@xxxxxxxxx>
---
 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

_______________________________________________
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