On Wed, Oct 29, 2014 at 09:52:50AM +0000, Thomas Daniel wrote: > No longer create a work item to clean each execlist queue item. > Instead, move retired execlist requests to a queue and clean up the > items during retire_requests. > > v2: Fix legacy ring path broken during overzealous cleanup > > v3: Update idle detection to take execlists queue into account > > Issue: VIZ-4274 > Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem.c | 4 +++ > drivers/gpu/drm/i915/intel_lrc.c | 52 ++++++++++++++++++------------- > drivers/gpu/drm/i915/intel_lrc.h | 2 +- > drivers/gpu/drm/i915/intel_ringbuffer.h | 1 + > 4 files changed, 36 insertions(+), 23 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 827edb5..df28202 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -2718,6 +2718,10 @@ i915_gem_retire_requests(struct drm_device *dev) > for_each_ring(ring, dev_priv, i) { > i915_gem_retire_requests_ring(ring); > idle &= list_empty(&ring->request_list); > + if (i915.enable_execlists) { Every time you do this, a kitten dies. If only we have an intel_engine_cs that could abstract the differences between retirement on the various submission ports and encapsulate that away from the core GEM buffer/request handling. If only I hadn't already sent a patch showing exactly how to do that. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx