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@xxxxxxxxxxxxxxxxxx> > Cc: Michał Winiarski <michal.winiarski@xxxxxxxxx> > Cc: Michel Thierry <michel.thierry@xxxxxxxxx> > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > --- > 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@xxxxxxxxx> -Michał > /** > * @queue: queue of requests, in priority lists > */ > -- > 2.16.1 > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx