[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