[Intel-gfx] [PATCH 1/2] drm/i915/preemption: Allow preemption between submission ports
Michał Winiarski
michal.winiarski at intel.com
Fri Feb 23 14:13:00 UTC 2018
On Fri, Feb 23, 2018 at 09:04:08AM +0000, Chris Wilson wrote:
> Sometimes we need to boost the priority of an in-flight request, which
> may lead to the situation where the second submission port then contains
> a higher priority context than the first and so we need to inject a
> preemption event. To do so we must always check inside
> execlists_dequeue() whether there is a priority inversion between the
> ports themselves as well as the head of the priority sorted queue, and we
> cannot just skip dequeuing if the queue is empty.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Michał Winiarski <michal.winiarski at intel.com>
> Cc: Michel Thierry <michel.thierry at intel.com>
> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
> drivers/gpu/drm/i915/intel_engine_cs.c | 2 +
> drivers/gpu/drm/i915/intel_guc_submission.c | 17 +--
> drivers/gpu/drm/i915/intel_lrc.c | 161 ++++++++++++++++------------
> drivers/gpu/drm/i915/intel_ringbuffer.h | 5 +
> 4 files changed, 107 insertions(+), 78 deletions(-)
>
[SNIP]
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
> index a9b83bf7e837..c4e9022b34e3 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
> @@ -257,6 +257,11 @@ struct intel_engine_execlists {
> */
> unsigned int port_mask;
>
> + /**
> + * @queue_priority: Highest pending priority.
> + */
> + int queue_priority;
> +
Can we expand the comment a bit? Mentioning that it's referring to both requests
that are in the queue and those already sent to the HW?
Reviewed-by: Michał Winiarski <michal.winiarski at intel.com>
-Michał
> /**
> * @queue: queue of requests, in priority lists
> */
> --
> 2.16.1
>
More information about the Intel-gfx
mailing list