On Thu, 28 May 2015, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote: > On Thu, May 28, 2015 at 06:32:36PM +0300, ville.syrjala@xxxxxxxxxxxxxxx wrote: >> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> >> >> Apparently we can have requests even if though the active list is empty, >> so do the request retirement regardless of whether there's anything >> on the active list. >> >> The way it happened here is that during suspend intel_ring_idle() >> notices the olr hanging around and then proceeds to get rid of it by >> adding a request. However since there was nothing on the active lists >> i915_gem_retire_requests() didn't clean those up, and so the idle work >> never runs, and we leave the GPU "busy" during suspend resulting in a >> WARN later. > > Whlist I agree (I use list_empty(&ring->request_list);) I strongly > suspect something (i.e. execlists) isn't managing the active_list > correctly. Pretty much the only thing that can generate a request > without an object (and so avoid touching the active_list) is a CS flip, > and I doubt you are using those... > > Anyway, > Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxx Pushed to drm-intel-fixes, thanks for the patch and review. BR, Jani. > -Chris > > -- > Chris Wilson, Intel Open Source Technology Centre > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx