From: John Harrison <john.c.harri...@intel.com>

GPU page faults can now require scheduler operation in order to complete. For
example, in order to free up sufficient memory to handle the fault the handler
must wait for a batch buffer to complete that has not even been sent to the
hardware yet. Thus EAGAIN no longer means a GPU hang, it can occur under normal
operation.

Change-Id: Iff6bd2744ef12bb7405fbcd6b43c286caad4141f
For: VIZ-1587
Signed-off-by: John Harrison <john.c.harri...@intel.com>
---
 drivers/gpu/drm/i915/i915_gem.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index f713cda..dd9ebbe 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1919,10 +1919,15 @@ out:
                }
        case -EAGAIN:
                /*
-                * EAGAIN means the gpu is hung and we'll wait for the error
-                * handler to reset everything when re-faulting in
+                * EAGAIN can mean the gpu is hung and we'll have to wait for
+                * the error handler to reset everything when re-faulting in
                 * i915_mutex_lock_interruptible.
+                *
+                * It can also indicate various other nonfatal errors for which
+                * the best response is to give other threads a chance to run,
+                * and then retry the failing operation in its entirety.
                 */
+               /*FALLTHRU*/
        case 0:
        case -ERESTARTSYS:
        case -EINTR:
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to