提交 e41627db 编写于 作者: C Chris Wilson

drm/i915/gt: Improve precision on defer_request assert

The kernel_context does not use initial-breadcrumbs, so when we ask if
its requests have started we do so by comparing against the completion
seqno of the previous request. This is very imprecise, not precise
enough for the defer_request assertion.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1847Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200508104220.9872-1-chris@chris-wilson.co.uk
上级 ac938052
...@@ -1886,7 +1886,8 @@ static void defer_request(struct i915_request *rq, struct list_head * const pl) ...@@ -1886,7 +1886,8 @@ static void defer_request(struct i915_request *rq, struct list_head * const pl)
continue; continue;
/* No waiter should start before its signaler */ /* No waiter should start before its signaler */
GEM_BUG_ON(i915_request_started(w) && GEM_BUG_ON(w->context->timeline->has_initial_breadcrumb &&
i915_request_started(w) &&
!i915_request_completed(rq)); !i915_request_completed(rq));
GEM_BUG_ON(i915_request_is_active(w)); GEM_BUG_ON(i915_request_is_active(w));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册