Re: [Intel-gfx] [PATCH 3/3] drm/i915: Treat weak-dependencies as bidirectional when applying priorities
On 07/05/2020 09:21, Chris Wilson wrote: Clients may use a submit-fence as bidirectional bond between two or more co-operating requests, and so if we bump the priority of one, we wish to bump the priority of the set. Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_scheduler.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_scheduler.c b/drivers/gpu/drm/i915/i915_scheduler.c index 6e2d4190099f..7194fbfcaa49 100644 --- a/drivers/gpu/drm/i915/i915_scheduler.c +++ b/drivers/gpu/drm/i915/i915_scheduler.c @@ -291,6 +291,12 @@ static void __i915_schedule(struct i915_sched_node *node, if (prio > READ_ONCE(p->signaler->attr.priority)) list_move_tail(>dfs_link, ); } + + list_for_each_entry(p, >waiters_list, wait_link) { + if (p->flags & I915_DEPENDENCY_WEAK && + prio > READ_ONCE(p->waiter->attr.priority)) + list_move_tail(>dfs_link, ); + } } /* Reviewed-by: Tvrtko Ursulin Regards, Tvrtko ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 3/3] drm/i915: Treat weak-dependencies as bidirectional when applying priorities
Clients may use a submit-fence as bidirectional bond between two or more co-operating requests, and so if we bump the priority of one, we wish to bump the priority of the set. Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_scheduler.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_scheduler.c b/drivers/gpu/drm/i915/i915_scheduler.c index 6e2d4190099f..7194fbfcaa49 100644 --- a/drivers/gpu/drm/i915/i915_scheduler.c +++ b/drivers/gpu/drm/i915/i915_scheduler.c @@ -291,6 +291,12 @@ static void __i915_schedule(struct i915_sched_node *node, if (prio > READ_ONCE(p->signaler->attr.priority)) list_move_tail(>dfs_link, ); } + + list_for_each_entry(p, >waiters_list, wait_link) { + if (p->flags & I915_DEPENDENCY_WEAK && + prio > READ_ONCE(p->waiter->attr.priority)) + list_move_tail(>dfs_link, ); + } } /* -- 2.20.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx