[Intel-gfx] [PATCH] drm/i915: Do not call retire_requests from wait_for_rendering

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Mar 13 12:46:59 CET 2014


On Wed, Mar 12, 2014 at 01:03:53PM +0000, Chris Wilson wrote:
> A common issue we have is that retiring requests causes recursion
> through GTT manipulation or page table manipulation which we can only
> handle at very specific points. However, to maintain internal
> consistency (enforced through our sanity checks on write_domain at
> various points in the GEM object lifecycle) we do need to retire the
> object prior to marking it with a new write_domain, and also clear the
> write_domain for the implicit flush following a batch.
> 
> Note that this then allows the unbound objects to still be on the active
> lists, and so care must be taken when removing objects from unbound lists
> (similar to the caveats we face processing the bound lists).
> 
> v2: Fix i915_gem_shrink_all() to handle updated object lifetime rules,
> by refactoring it to call into __i915_gem_shrink().
> 
> v3: Missed an object-retire prior to changing cache domains in
> i915_gem_object_set_cache_leve()
> 
> v4: Rebase
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

This can have my
Tested-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

It fixes the vma unbind recursion issues that have plagued my ivb with
full ppgtt as I noted here:
https://bugs.freedesktop.org/show_bug.cgi?id=73383#c29

-- 
Ville Syrjälä
Intel OTC



More information about the Intel-gfx mailing list