[PATCH v1 2/2] drm/amdgpu: update the error logging for more information

Sunil Khatri sunil.khatri at amd.com
Tue Apr 8 12:41:50 UTC 2025


add process and pid information in the userqueue error
logging to make it more useful in resolving the error
by logs.

Signed-off-by: Sunil Khatri <sunil.khatri at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c
index ecd49cf15b2a..3b55601b012f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c
@@ -67,7 +67,8 @@ amdgpu_userqueue_cleanup(struct amdgpu_userq_mgr *uq_mgr,
 	if (f && !dma_fence_is_signaled(f)) {
 		ret = dma_fence_wait_timeout(f, true, msecs_to_jiffies(100));
 		if (ret <= 0) {
-			DRM_ERROR("Timed out waiting for fence f=%p\n", f);
+			DRM_ERROR("Timed out waiting for fence f=%p for process:%s:%d\n",
+				  f, uq_mgr->process_name, uq_mgr->pid);
 			return;
 		}
 	}
@@ -436,7 +437,8 @@ amdgpu_userqueue_resume_all(struct amdgpu_userq_mgr *uq_mgr)
 	}
 
 	if (ret)
-		DRM_ERROR("Failed to resume all the queue\n");
+		DRM_ERROR("Failed to resume all the queue for process:%s:%d\n",
+			  uq_mgr->process_name, uq_mgr->pid);
 	return ret;
 }
 
@@ -594,7 +596,8 @@ amdgpu_userqueue_suspend_all(struct amdgpu_userq_mgr *uq_mgr)
 	}
 
 	if (ret)
-		DRM_ERROR("Couldn't suspend all the queues\n");
+		DRM_ERROR("Couldn't suspend all the queues for process:%s:%d\n",
+			  uq_mgr->process_name, uq_mgr->pid);
 	return ret;
 }
 
@@ -611,7 +614,8 @@ amdgpu_userqueue_wait_for_signal(struct amdgpu_userq_mgr *uq_mgr)
 			continue;
 		ret = dma_fence_wait_timeout(f, true, msecs_to_jiffies(100));
 		if (ret <= 0) {
-			DRM_ERROR("Timed out waiting for fence f=%p\n", f);
+			DRM_ERROR("Timed out waiting for fence f=%p for process:%s:%d\n",
+				  f, uq_mgr->process_name, uq_mgr->pid);
 			return -ETIMEDOUT;
 		}
 	}
@@ -630,13 +634,15 @@ amdgpu_userqueue_suspend(struct amdgpu_userq_mgr *uq_mgr,
 	/* Wait for any pending userqueue fence work to finish */
 	ret = amdgpu_userqueue_wait_for_signal(uq_mgr);
 	if (ret) {
-		DRM_ERROR("Not suspending userqueue, timeout waiting for work\n");
+		DRM_ERROR("Not suspending userqueue, timeout waiting for work process:%s:%d\n",
+			  uq_mgr->process_name, uq_mgr->pid);
 		return;
 	}
 
 	ret = amdgpu_userqueue_suspend_all(uq_mgr);
 	if (ret) {
-		DRM_ERROR("Failed to evict userqueue\n");
+		DRM_ERROR("Failed to evict userqueue for process:%s:%d\n",
+			  uq_mgr->process_name, uq_mgr->pid);
 		return;
 	}
 
-- 
2.34.1



More information about the amd-gfx mailing list