Skip to contentSkip to conversation

FAILED: patch "[PATCH] drm/amdgpu: save list length when fence is signaled" failed to apply to 4.13-stable tree

PATCH [email protected] 1 participant 1 message Sep 20, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.13-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From 5b7f8404b217613918a0ebe40ea5511990ab2e35 Mon Sep 17 00:00:00 2001

From: Chunming Zhou <[email protected]>
Date: Fri, 11 Aug 2017 09:34:33 +0800
Subject: [PATCH] drm/amdgpu: save list length when fence is signaled
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

update the list first to avoid redundant checks.

drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c +6 -7
index a6899180b265..c586f44312f9 100644
@@ -244,6 +244,12 @@ struct dma_fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync,
 		struct dma_fence *f = e->fence;
 		struct amd_sched_fence *s_fence = to_amd_sched_fence(f);
 
+		if (dma_fence_is_signaled(f)) {
+			hash_del(&e->node);
+			dma_fence_put(f);
+			kmem_cache_free(amdgpu_sync_slab, e);
+			continue;
+		}
 		if (ring && s_fence) {
 			/* For fences from the same ring it is sufficient
 			 * when they are scheduled.
@@ -256,13 +262,6 @@ struct dma_fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync,
 			}
 		}
 
-		if (dma_fence_is_signaled(f)) {
-			hash_del(&e->node);
-			dma_fence_put(f);
-			kmem_cache_free(amdgpu_sync_slab, e);
-			continue;
-		}
-
 		return f;
 	}