[Bug 78023] [PNV/HSW/BDW bisected]igt/gem_exec_lut_handle is slow
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon May 5 01:02:15 PDT 2014
https://bugs.freedesktop.org/show_bug.cgi?id=78023
--- Comment #5 from Chris Wilson <chris at chris-wilson.co.uk> ---
The root cause is ppgtt:
commit 1f70999f9052f5a1b0ce1a55aff3808f2ec9fe42
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Mon Jan 27 22:43:07 2014 +0000
drm/i915: Prevent recursion by retiring requests when the ring is full
As the VM do not track activity of objects and instead use a large
hammer to forcibly idle and evict all of their associated objects when
one is released, it is possible for that to cause a recursion when we
need to wait for free space on a ring and call retire requests.
(intel_ring_begin -> intel_ring_wait_request ->
i915_gem_retire_requests_ring -> i915_gem_context_free ->
i915_gem_evict_vm -> i915_gpu_idle -> intel_ring_begin etc)
In order to remove the requirement for calling retire-requests from
intel_ring_wait_request, we have to inline a couple of steps from
retiring requests, notably we have to record the position of the request
we wait for and use that to update the available ring space.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
removes the i915_gem_retire_requests_ring() when we run out of ring space, and
this test has no explicit request retiring and so depends upon this implicit
retire.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20140505/5d449bed/attachment.html>
More information about the intel-gfx-bugs
mailing list