[FOR_CI_v3 10/15] drm/i915: Update wait_request to consider engine reset

Arun Siluvery arun.siluvery at linux.intel.com
Tue Jul 5 09:55:54 UTC 2016


__i915_wait_request() is updated such that if an engine reset is pending,
we request the waiter to try again so that engine recovery can continue.
If i915_wait_request does not take per-engine hang recovery into account
there is no way for a waiting thread to know that a per-engine recovery is
about to happen and that it needs to back off.

Signed-off-by: Arun Siluvery <arun.siluvery at linux.intel.com>
---
 drivers/gpu/drm/i915/i915_gem.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 74e68e8..f199966 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1501,6 +1501,11 @@ int __i915_wait_request(struct drm_i915_gem_request *req,
 			break;
 		}
 
+		if (i915_reset_in_progress(&req->i915->gpu_error)) {
+			ret = -EAGAIN;
+			break;
+		}
+
 		/* Ensure that even if the GPU hangs, we get woken up.
 		 *
 		 * However, note that if no one is waiting, we never notice
-- 
1.9.1



More information about the Intel-gfx-trybot mailing list