OSDN Git Service

drm/i915/gem: Drop false !i915_vma_is_closed assertion
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 7 Dec 2020 19:38:05 +0000 (19:38 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 8 Dec 2020 14:01:51 +0000 (14:01 +0000)
Closed vma are protected by the GT wakeref held as we lookup the vma, so
we know that the vma will not be freed as we process it for the execbuf.
Instead we expect to catch the closed status of the context, and simply
allow the close-race on an individual vma to be washed away.

Longer term, the GT wakeref protection will be removed by explicit
vma.kref tracking.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2245
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201207193824.18114-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c

index b07dc11..1939961 100644 (file)
@@ -534,8 +534,6 @@ eb_add_vma(struct i915_execbuffer *eb,
        struct drm_i915_gem_exec_object2 *entry = &eb->exec[i];
        struct eb_vma *ev = &eb->vma[i];
 
-       GEM_BUG_ON(i915_vma_is_closed(vma));
-
        ev->vma = vma;
        ev->exec = entry;
        ev->flags = entry->flags;