All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] drm/scheduler: fix a corner case in dependency optimization
@ 2018-05-25  4:45 Nayan Deshmukh
  2018-05-25  4:45 ` [PATCH 2/3] drm/scheduler: add documentation Nayan Deshmukh
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Nayan Deshmukh @ 2018-05-25  4:45 UTC (permalink / raw)
  To: dri-devel; +Cc: Nayan Deshmukh, christian.koenig

When checking for a dependency fence for belonging to the same entity
compare it with scheduled as well finished fence. Earlier we were only
comparing it with the scheduled fence.

Signed-off-by: Nayan Deshmukh <nayan26deshmukh@gmail.com>
---
 drivers/gpu/drm/scheduler/gpu_scheduler.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/scheduler/gpu_scheduler.c b/drivers/gpu/drm/scheduler/gpu_scheduler.c
index df1578d6f42e..44d480768dfe 100644
--- a/drivers/gpu/drm/scheduler/gpu_scheduler.c
+++ b/drivers/gpu/drm/scheduler/gpu_scheduler.c
@@ -349,8 +349,13 @@ static bool drm_sched_entity_add_dependency_cb(struct drm_sched_entity *entity)
 	struct dma_fence * fence = entity->dependency;
 	struct drm_sched_fence *s_fence;
 
-	if (fence->context == entity->fence_context) {
-		/* We can ignore fences from ourself */
+	if (fence->context == entity->fence_context ||
+            fence->context == entity->fence_context + 1) {
+                /*
+                 * Fence is a scheduled/finished fence from a job
+                 * which belongs to the same entity, we can ignore
+                 * fences from ourself
+                 */
 		dma_fence_put(entity->dependency);
 		return false;
 	}
-- 
2.14.3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2018-05-29  8:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-25  4:45 [PATCH 1/3] drm/scheduler: fix a corner case in dependency optimization Nayan Deshmukh
2018-05-25  4:45 ` [PATCH 2/3] drm/scheduler: add documentation Nayan Deshmukh
2018-05-25 12:06   ` Christian König
2018-05-25 14:54   ` Alex Deucher
2018-05-28  7:09     ` Nayan Deshmukh
2018-05-28  8:09   ` Daniel Vetter
2018-05-28  8:31     ` Nayan Deshmukh
2018-05-29  5:53       ` [PATCH v2] " Nayan Deshmukh
2018-05-29  6:38         ` Christian König
2018-05-29  8:05       ` [PATCH 2/3] " Daniel Vetter
2018-05-25  4:45 ` [PATCH 3/3] drm/doc: add a chapter for gpu scheduler Nayan Deshmukh
2018-05-25 14:54   ` Alex Deucher
2018-05-25 12:01 ` [PATCH 1/3] drm/scheduler: fix a corner case in dependency optimization Christian König

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.