[Intel-gfx] [PATCH 2/3] drm/i915: Always propagate the invocation to i915_schedule
Mika Kuoppala
mika.kuoppala at linux.intel.com
Fri Mar 6 10:05:30 UTC 2020
Chris Wilson <chris at chris-wilson.co.uk> 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 at chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> ---
> 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list