Message ID | 20161101084843.3961-1-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Nov 01, 2016 at 09:20:19AM -0000, Patchwork wrote: > == Series Details == > > Series: series starting with [CI,1/3] drm/i915: Use the full hammer when shutting down the rcu tasks > URL : https://patchwork.freedesktop.org/series/14660/ > State : warning > > == Summary == > > Series 14660v1 Series without cover letter > https://patchwork.freedesktop.org/api/1.0/series/14660/revisions/1/mbox/ > > Test drv_module_reload_basic: > dmesg-warn -> PASS (fi-bdw-5557u) > pass -> SKIP (fi-skl-6260u) > Test kms_busy: > Subgroup basic-flip-default-a: > pass -> DMESG-WARN (fi-ilk-650) > Test kms_force_connector_basic: > Subgroup force-edid: > dmesg-warn -> PASS (fi-snb-2520m) > Test kms_pipe_crc_basic: > Subgroup bad-nb-words-1: > pass -> DMESG-WARN (fi-ilk-650) > Subgroup bad-nb-words-3: > dmesg-warn -> PASS (fi-ilk-650) > Subgroup bad-source: > dmesg-warn -> PASS (fi-ilk-650) > Subgroup hang-read-crc-pipe-b: > dmesg-warn -> PASS (fi-ilk-650) Onwards! -Chris
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 6a99544c98d3..3b9bfd2cf0c0 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -544,7 +544,7 @@ static void i915_gem_fini(struct drm_i915_private *dev_priv) i915_gem_context_fini(&dev_priv->drm); mutex_unlock(&dev_priv->drm.struct_mutex); - synchronize_rcu(); + rcu_barrier(); flush_work(&dev_priv->mm.free_work); WARN_ON(!list_empty(&dev_priv->context_list)); diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 1e5d2bf777e4..b51274562e79 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -4787,6 +4787,8 @@ void i915_gem_load_cleanup(struct drm_device *dev) { struct drm_i915_private *dev_priv = to_i915(dev); + WARN_ON(!llist_empty(&dev_priv->mm.free_list)); + kmem_cache_destroy(dev_priv->requests); kmem_cache_destroy(dev_priv->vmas); kmem_cache_destroy(dev_priv->objects);