提交 6b6573d1 编写于 作者: C Chris Wilson

drm/i915: Drop request retirement before reaping stale contexts

Before we create a new context, we try and reap all the stale contexts
(i.e. those that are freed but waiting for a worker to come and return
their allocations to the system). Before we do this, we retire all
requests so that we clear any inflight no longer used contexts (who are
only being kept alived by those inflght requests). However, any context
that is finally unreferenced by this retirement is put onto an RCU list
and not available for immediately reaping, we stall for no immediate
benefit.
Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170705142634.18554-3-chris@chris-wilson.co.ukReviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
上级 ddfc9258
...@@ -384,7 +384,6 @@ i915_gem_create_context(struct drm_i915_private *dev_priv, ...@@ -384,7 +384,6 @@ i915_gem_create_context(struct drm_i915_private *dev_priv,
lockdep_assert_held(&dev_priv->drm.struct_mutex); lockdep_assert_held(&dev_priv->drm.struct_mutex);
/* Reap stale contexts */ /* Reap stale contexts */
i915_gem_retire_requests(dev_priv);
contexts_free(dev_priv); contexts_free(dev_priv);
ctx = __create_hw_context(dev_priv, file_priv); ctx = __create_hw_context(dev_priv, file_priv);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册