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

Chris Wilson chris at chris-wilson.co.uk
Mon Sep 25 08:40:03 UTC 2017


Quoting Chris Wilson (2017-09-19 13:43:41)
> 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?

Any better suggestions for resolving the incompletes in CI? Is this good
enough to land right now and then we can improve again with a happy CI?

> > ---
> >  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