[Intel-gfx] [PATCH 02/10] drm/i915/gt: Always check to enable timeslicing if not submitting
Mika Kuoppala
mika.kuoppala at linux.intel.com
Fri Jun 5 15:20:34 UTC 2020
Chris Wilson <chris at chris-wilson.co.uk> writes:
> 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 at chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/gt/intel_lrc.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
> index 92c3368ffcbd..d55a5e0466e5 100644
> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> @@ -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
> @@ -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);
If we ended up with same set of request, we want to skip submitting.
But why would we want to skip timeslicing?
-Mika
> skip_submit:
> ring_set_paused(engine, 0);
> }
> --
> 2.20.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list