drm/i915: Stop holding a ref to the ppgtt from each vma
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 16 Aug 2018 07:34:46 +0000 (08:34 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 16 Aug 2018 12:31:37 +0000 (13:31 +0100)
commita4417b7b419a68540ad7945ac4efbb39d19afa63
tree09900ee0984925cefb5f199af4c2478c8433382f
parent805615dae0572087d2def1625496a72b8d6dbd25
drm/i915: Stop holding a ref to the ppgtt from each vma

The context owns both the ppgtt and the vma within it, and our activity
tracking on the context ensures that we do not release active ppgtt. As
the context fulfils our obligations for active memory tracking, we can
relinquish the reference from the vma.

This fixes a silly transient refleak from closed vma being kept alive
until the entire system was idle, keeping all vm alive as well.

Reported-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Testcase: igt/gem_ctx_create/files
Fixes: 3365e2268b6b ("drm/i915: Lazily unbind vma on close")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Tested-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180816073448.19396-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_vma.c