[Intel-gfx] [PATCH] drm/i915: Leave vma intact as they are discarded

Chris Wilson chris at chris-wilson.co.uk
Fri Jun 12 09:11:42 UTC 2020


Quoting Matthew Auld (2020-06-12 10:04:55)
> On 11/06/2020 19:04, Chris Wilson wrote:
> > If we find ourselves trying to reuse a misplaced but active vma, we
> > currently try to discard it to avoid having to wait to unbind it
> > (upsetting the current user fo the vma). An alternative to marking it as
> > a dicarded vma and keeping it in both the obj->vma.list and
> > obj->vma.tree, is to simply remove it from the lookup rbtree.
> > 
> > While it remains in the list of vma, it will be unbound under eviction
> > pressure and freed along with the object. We will never reuse it again
> > for new instances. As before, with no pruning, the list may continually
> > grow, but eventually we will have the most constrained version of the
> > ggtt view that meets all requirements -- so the list of vma should not
> > grow without bound.
> > 
> > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2012
> > Fixes: 9bdcaa5e3a2f ("drm/i915: Discard a misplaced GGTT vma")
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Matthew Auld <matthew.auld at intel.com>
> 
> Seems much simpler,
> Reviewed-by: Matthew Auld <matthew.auld at intel.com>

Yeah, the cost being that the rbtree is not complete (and we have to be
careful about double removals). But we only use the tree for lookup and
walk the list for everything else. My fear is that it will be an
unpleasant surprise later.
-Chris


More information about the Intel-gfx mailing list