[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