[Intel-gfx] [PATCH 10/11] drm/i915: Check PIN_NONFAULT overlaps in evict_for_node

Chris Wilson chris at chris-wilson.co.uk
Tue Sep 19 12:43:41 UTC 2017


Quoting Chris Wilson (2017-09-11 09:41:34)
> If the caller says that he doesn't want to evict any other faulting
> vma, honour that flag. The logic was used in evict_something, but not
> the more specific evict_for_node, now being used as a preliminary probe
> since commit 606fec956c0e ("drm/i915: Prefer random replacement before
> eviction search").
> 
> Fixes: 606fec956c0e ("drm/i915: Prefer random replacement before eviction search")
> Fixes: 821188778b9b ("drm/i915: Choose not to evict faultable objects from the GGTT")
> References: https://patchwork.freedesktop.org/patch/174781/
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>

Any chance of getting review to this point?

> ---
>  drivers/gpu/drm/i915/i915_gem_evict.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c
> index 933ee8ecfa54..a5a5b7e6daae 100644
> --- a/drivers/gpu/drm/i915/i915_gem_evict.c
> +++ b/drivers/gpu/drm/i915/i915_gem_evict.c
> @@ -315,6 +315,11 @@ int i915_gem_evict_for_node(struct i915_address_space *vm,
>                         break;
>                 }
>  
> +               if (flags & PIN_NONFAULT && i915_vma_has_userfault(vma)) {
> +                       ret = -ENOSPC;
> +                       break;
> +               }
> +
>                 /* Overlap of objects in the same batch? */
>                 if (i915_vma_is_pinned(vma)) {
>                         ret = -ENOSPC;
> -- 
> 2.14.1
> 


More information about the Intel-gfx mailing list