[Intel-gfx] [RFC 2/2] drm/i915: Clean-up PPGTT on context destruction

Chris Wilson chris at chris-wilson.co.uk
Thu Feb 12 13:03:06 PST 2015


On Thu, Feb 12, 2015 at 08:05:02PM +0000, rafael.barbalho at intel.com wrote:
> From: Rafael Barbalho <rafael.barbalho at intel.com>
> 
> With full PPGTT enabled an object's VMA entry into a PPGTT VM needs to be
> cleaned up so that the PPGTT PDE & PTE allocations can be freed.
> 
> This problem only shows up with full PPGTT because an object's VMA is
> only cleaned-up when the object is destroyed. However, if the object has
> been shared between multiple processes this may not happen, which leads to
> references to the PPGTT still being kept the object was shared.
> 
> Under android the sharing of GEM objects is a fairly common operation, thus
> the clean-up has to be more agressive.

Not quite. You need an active refcount as we do not expect close(fd) to
stall. The trick is to "simply" use requests to retire vma (as well as
the object management it does today, though that just becomes a second
layer for GEM API management, everything else goes through vma).
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list