Quoting Chris Wilson (2019-11-21 09:10:40)
> From inside an active timeline in the execbuf ioctl, we may try to
> reclaim some space in the GGTT. We need GGTT space for all objects on
> !full-ppgtt platforms, and for context images everywhere. However, to
> free up space in the GGTT we may need to remove some pinned objects
> (e.g. context images) that require flushing the idle barriers to remove.
> For this we use the big hammer of intel_gt_wait_for_idle()
> 
> However, commit 7936a22dd466 ("drm/i915/gt: Wait for new requests in
> intel_gt_retire_requests()") will continue spinning on the wait if a
> timeline is active but lacks requests, as is the case during execbuf
> reservation. Spinning forever is quite time consuming, so revert that
> commit and start again.
> 
> In practice, the effect commit 7936a22dd466 was trying to achieve is
> accomplished by commit 1683d24c1470 ("drm/i915/gt: Move new timelines
> to the end of active_list"), so there is no immediate rush to replace
> the looping.
> 
> Testcase: igt/gem_exec_reloc/basic-range
> Fixes: 7936a22dd466 ("drm/i915/gt: Wait for new requests in 
> intel_gt_retire_requests()")
> References: 1683d24c1470 ("drm/i915/gt: Move new timelines to the end of 
> active_list")
> Signed-off-by: Chris Wilson <[email protected]>
> Cc: Tvrtko Ursulin <[email protected]>
> Cc: Joonas Lahtinen <[email protected]>

Reviewed-by: Joonas Lahtinen <[email protected]>

Regards, Joonas
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to