[Intel-gfx] [PATCH v5 18/35] drm/i915: Added scheduler support to page fault handler

Jesse Barnes jbarnes at virtuousgeek.org
Fri Feb 19 19:45:44 UTC 2016


On 02/18/2016 06:27 AM, John.C.Harrison at Intel.com wrote:
> From: John Harrison <John.C.Harrison at 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.
> 
> For: VIZ-1587
> Signed-off-by: John Harrison <John.C.Harrison at 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 17b44b3..a47a495 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2003,10 +2003,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:
> 

Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>


More information about the Intel-gfx mailing list