Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > We only call i915_schedule() when we know we have changed the priority > on a request and so require to propagate any change in priority to its > signalers (for PI). By unconditionally checking all of our signalers, we > avoid skipping changes made prior to construction of the request (as the > request may be waited upon before submission when used in parallel). > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_scheduler.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_scheduler.c b/drivers/gpu/drm/i915/i915_scheduler.c > index be770f2419b1..52f71e83e088 100644 > --- a/drivers/gpu/drm/i915/i915_scheduler.c > +++ b/drivers/gpu/drm/i915/i915_scheduler.c > @@ -227,10 +227,10 @@ static void kick_submission(struct intel_engine_cs *engine, > static void __i915_schedule(struct i915_sched_node *node, > const struct i915_sched_attr *attr) > { > + const int prio = max(attr->priority, node->attr.priority); > struct intel_engine_cs *engine; > struct i915_dependency *dep, *p; > struct i915_dependency stack; > - const int prio = attr->priority; > struct sched_cache cache; > LIST_HEAD(dfs); > > @@ -238,9 +238,6 @@ static void __i915_schedule(struct i915_sched_node *node, > lockdep_assert_held(&schedule_lock); > GEM_BUG_ON(prio == I915_PRIORITY_INVALID); > > - if (prio <= READ_ONCE(node->attr.priority)) > - return; > - > if (node_signaled(node)) > return; > > -- > 2.25.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx