Skip to content

Commit

Permalink
drm/i915/gt: Always check to enable timeslicing if not submitting
Browse files Browse the repository at this point in the history
We may choose not to submit for a number of reasons, yet not fill both
ELSP. In which case we must start timeslicing (there will be no ACK
event on which to hook the start) if the queue would benefit from the
currently active context being evicted.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200605122334.2798-2-chris@chris-wilson.co.uk
  • Loading branch information
Chris Wilson committed Jun 5, 2020
1 parent fdd4f94 commit 12b67c2
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions drivers/gpu/drm/i915/gt/intel_lrc.c
Original file line number Diff line number Diff line change
Expand Up @@ -2362,10 +2362,8 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
if (last->context == rq->context)
goto done;

if (i915_request_has_sentinel(last)) {
start_timeslice(engine, rq_prio(rq));
if (i915_request_has_sentinel(last))
goto done;
}

/*
* If GVT overrides us we only ever submit
Expand Down Expand Up @@ -2446,6 +2444,7 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
set_preempt_timeout(engine, *active);
execlists_submit_ports(engine);
} else {
start_timeslice(engine, execlists->queue_priority_hint);
skip_submit:
ring_set_paused(engine, 0);
}
Expand Down

0 comments on commit 12b67c2

Please sign in to comment.