Re: [PATCH] drm/i915: Don't skip request retirement if the active list is empty

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 28, 2015 at 04:47:49PM +0100, Chris Wilson 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...

Oh, I forgot to mention that this was in ringbuffer mode. I guess I
should try execlist too.

> 
> Anyway,
> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxx
> -Chris
> 
> -- 
> Chris Wilson, Intel Open Source Technology Centre

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux