Message ID | c57547fff1a35cbbff45205a6cc606fb97c07210.1553189717.git.caz.yokoyama@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v1,1/1] drm/i915/sleftests: live_execlists subtest faster | expand |
Quoting Yokoyama, Caz (2019-03-21 17:38:21) > 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. https://patchwork.freedesktop.org/series/58188/ -Chris
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); } }
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@intel.com> --- drivers/gpu/drm/i915/selftests/intel_lrc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)