mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-22 13:37:49 +07:00
drm/i915/gt: Always check to enable timeslicing if not submitting
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
This commit is contained in:
parent
fdd4f94165
commit
12b67c2e9c
@ -2362,10 +2362,8 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
|
|||||||
if (last->context == rq->context)
|
if (last->context == rq->context)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
if (i915_request_has_sentinel(last)) {
|
if (i915_request_has_sentinel(last))
|
||||||
start_timeslice(engine, rq_prio(rq));
|
|
||||||
goto done;
|
goto done;
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If GVT overrides us we only ever submit
|
* If GVT overrides us we only ever submit
|
||||||
@ -2446,6 +2444,7 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
|
|||||||
set_preempt_timeout(engine, *active);
|
set_preempt_timeout(engine, *active);
|
||||||
execlists_submit_ports(engine);
|
execlists_submit_ports(engine);
|
||||||
} else {
|
} else {
|
||||||
|
start_timeslice(engine, execlists->queue_priority_hint);
|
||||||
skip_submit:
|
skip_submit:
|
||||||
ring_set_paused(engine, 0);
|
ring_set_paused(engine, 0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user