[Intel-gfx] [PATCH] drm/i915: Move atomic state free from out of fence release

Chris Wilson chris at chris-wilson.co.uk
Tue Jan 24 17:32:35 UTC 2017


On Tue, Jan 24, 2017 at 10:39:44AM +0200, Joonas Lahtinen wrote:
> On ma, 2017-01-23 at 21:29 +0000, Chris Wilson wrote:
> > @@ -17329,6 +17350,9 @@ void intel_modeset_cleanup(struct drm_device *dev)
> >  {
> >  	struct drm_i915_private *dev_priv = to_i915(dev);
> >  
> > +	flush_work(&dev_priv->atomic_helper.free_work);
> > +	WARN_ON(!llist_empty(&dev_priv->atomic_helper.free_list));
> 
> Maybe make this while(!llist_empty) flush_work() to begin with? There's
> exactly no locking in place to prevent that from happening?

Stuck with it since it is adequate for now, and I think should be
correct for a long time. Spent a long time checking reload to see if I
could catch an issue with a missed worker, and found none.
 
> Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>

Added 
Fixes: c004a90b7263 ("drm/i915: Restore nonblocking awaits for modesetting")
for good measure since although it has only turned up now, that seems
like it could just be a concidence.

Thanks for the review and catching the bug.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list