On Tue, Oct 24, 2017 at 12:55:01PM +0100, Chris Wilson wrote: > Originally we set the priority to max upon inserting the request into > the execlists queue (and removing it from the scheduler lists). We could > then use the prio==INT_MAX as a shortcut within execlists_schedule() to > detect the end of the dependency chain. Since commit 1f181225f8ec > ("drm/i915/execlists: Keep request->priority for its lifetime") this is > no longer true as we use the request completion as an indicator the > schedule dependency chain is complete instead. (This allows us to then > reschedule requests even when its context is in flight.) However, this > makes the GEM_BUG_ON() inside execlists_schedule() racy as we may change > the rq->prio at the same time. As the assertion is useful, let's keep > the assertion and remove the micro-optimisation. > > Fixes: 1f181225f8ec ("drm/i915/execlists: Keep request->priority for its lifetime") > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Michał Winiarski <michal.winiarski@xxxxxxxxx> > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Michał Winiarski <michal.winiarski@xxxxxxxxx> -Michał > --- > drivers/gpu/drm/i915/intel_lrc.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c > index 233c992a886b..c63960fee102 100644 > --- a/drivers/gpu/drm/i915/intel_lrc.c > +++ b/drivers/gpu/drm/i915/intel_lrc.c > @@ -734,7 +734,6 @@ static void execlists_cancel_requests(struct intel_engine_cs *engine) > > list_for_each_entry_safe(rq, rn, &p->requests, priotree.link) { > INIT_LIST_HEAD(&rq->priotree.link); > - rq->priotree.priority = INT_MAX; > > dma_fence_set_error(&rq->fence, -EIO); > __i915_gem_request_submit(rq); > @@ -891,7 +890,6 @@ static void intel_lrc_irq_handler(unsigned long data) > execlists_context_status_change(rq, INTEL_CONTEXT_SCHEDULE_OUT); > > trace_i915_gem_request_out(rq); > - rq->priotree.priority = INT_MAX; > i915_gem_request_put(rq); > > execlists_port_complete(execlists, port); > -- > 2.15.0.rc1 > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx