diff options
author | John Harrison <John.C.Harrison@Intel.com> | 2014-04-10 10:50:15 +0100 |
---|---|---|
committer | John Harrison <John.C.Harrison@Intel.com> | 2016-05-06 14:12:57 +0100 |
commit | 81128e1025377fe1fd87ae9779cd557badb29c6d (patch) | |
tree | 114501370a11dca144d5c954117fbcb5412e7408 | |
parent | 8f09364d2a0947943831f792aaa0119296cc57cf (diff) |
drm/i915: Added scheduler support to page fault handler
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.
For: VIZ-1587
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 695070d842ba..724a6a2b9084 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -1998,10 +1998,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: |