[Intel-gfx] [PATCH v2 4/4] drm/i915: Fix i915_gem_evict_for_vma (soft-pinning)

Chris Wilson chris at chris-wilson.co.uk
Fri Nov 18 12:14:11 UTC 2016


On Fri, Nov 18, 2016 at 01:31:57PM +0200, Joonas Lahtinen wrote:
> On pe, 2016-11-18 at 10:14 +0000, Chris Wilson wrote:
> > On Fri, Nov 18, 2016 at 11:18:09AM +0200, Joonas Lahtinen wrote:
> > > I don't quite see why? Are you expecting the iteration to hit same vma
> > > twice? Or somebody moving it while we iterate.
> > 
> > The unbind may causes a free of any member on this list, so the pinning
> > prevents other vma from being unbound whilst waiting on this one. It
> > used to be a big deal, but since the various reworking the deferred free
> > hides the oops.
> 
> Drop a comment.

                /* Never show fear in the face of dragons!
                 *
                 * We cannot directly remove this node from within this
                 * iterator and as with i915_gem_evict_something() we employ
                 * the vma pin_count in order to prevent the action of
                 * unbinding one vma from freeing (by dropping its active 
                 * reference) another in our eviction list. (Actually this
                 * *should* be safe now due to the independent retirement of
                 * vma and deferred free preventing other nodes from
                 * disappearing, but for consistency and that extra layer of
                 * warm protection, let it be!)
                 */


-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list