Commit 58d1b427 authored by Chris Wilson's avatar Chris Wilson

drm/i915/execlists: Record preemption for selftests

Put back the preemption counters lost in commit 22b7a426
("drm/i915/execlists: Preempt-to-busy") so that our selftests that
assert no preemption took place continue to function.

v2: But a timeslice is only a "soft" preemption!

Fixes: 22b7a426 ("drm/i915/execlists: Preempt-to-busy")
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190710064454.682-1-chris@chris-wilson.co.uk
parent b33c61db
...@@ -921,6 +921,11 @@ enable_timeslice(struct intel_engine_cs *engine) ...@@ -921,6 +921,11 @@ enable_timeslice(struct intel_engine_cs *engine)
return last && need_timeslice(engine, last); return last && need_timeslice(engine, last);
} }
static void record_preemption(struct intel_engine_execlists *execlists)
{
(void)I915_SELFTEST_ONLY(execlists->preempt_hang.count++);
}
static void execlists_dequeue(struct intel_engine_cs *engine) static void execlists_dequeue(struct intel_engine_cs *engine)
{ {
struct intel_engine_execlists * const execlists = &engine->execlists; struct intel_engine_execlists * const execlists = &engine->execlists;
...@@ -989,6 +994,8 @@ static void execlists_dequeue(struct intel_engine_cs *engine) ...@@ -989,6 +994,8 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
last->fence.seqno, last->fence.seqno,
last->sched.attr.priority, last->sched.attr.priority,
execlists->queue_priority_hint); execlists->queue_priority_hint);
record_preemption(execlists);
/* /*
* Don't let the RING_HEAD advance past the breadcrumb * Don't let the RING_HEAD advance past the breadcrumb
* as we unwind (and until we resubmit) so that we do * as we unwind (and until we resubmit) so that we do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment