On 5/28/2025 1:19 AM, Deng, Emily wrote:
[AMD Official Use Only - AMD Internal Distribution Only]
*From:*amd-gfx <[email protected]> *On Behalf Of
*Deng, Emily
*Sent:* Monday, May 26, 2025 9:51 AM
*To:* Chen, Xiaogang <[email protected]>;
[email protected]
*Subject:* RE: [PATCH v2] drm/ttm: Should to return the evict error
[AMD Official Use Only - AMD Internal Distribution Only]
[AMD Official Use Only - AMD Internal Distribution Only]
*From:*Chen, Xiaogang <[email protected]>
*Sent:* Friday, May 23, 2025 6:27 AM
*To:* Deng, Emily <[email protected]>; [email protected]
*Subject:* Re: [PATCH v2] drm/ttm: Should to return the evict error
On 5/21/2025 9:42 PM, Deng, Emily wrote:
[AMD Official Use Only - AMD Internal Distribution Only]
[AMD Official Use Only - AMD Internal Distribution Only]
Ping......
Emily Deng
Best Wishes
-----Original Message-----
From: Emily Deng<[email protected]> <mailto:[email protected]>
Sent: Wednesday, May 21, 2025 11:57 AM
To:[email protected]
Cc: Deng, Emily<[email protected]> <mailto:[email protected]>
Subject: [PATCH v2] drm/ttm: Should to return the evict error
For the evict fail case, the evict error should be returned.
v2: Consider ENOENT case.
Signed-off-by: Emily Deng<[email protected]>
<mailto:[email protected]>
---
drivers/gpu/drm/ttm/ttm_resource.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/ttm/ttm_resource.c
b/drivers/gpu/drm/ttm/ttm_resource.c
index 097716bd248a..abf104ae9d35 100644
--- a/drivers/gpu/drm/ttm/ttm_resource.c
+++ b/drivers/gpu/drm/ttm/ttm_resource.c
@@ -511,12 +511,12 @@ int ttm_resource_manager_evict_all(struct
ttm_device
*bdev,
.force_alloc = true
};
struct dma_fence *fence;
- int ret;
+ int ret, evict_ret = 0;
do {
- ret = ttm_bo_evict_first(bdev, man, &ctx);
+ evict_ret = ttm_bo_evict_first(bdev, man, &ctx);
cond_resched();
- } while (!ret);
+ } while (!evict_ret);
spin_lock(&man->move_lock);
fence = dma_fence_get(man->move);
@@ -529,7 +529,7 @@ int ttm_resource_manager_evict_all(struct
ttm_device *bdev,
return ret;
}
- return 0;
+ return (evict_ret == -ENOENT) ? 0 : evict_ret;
}
Can you explain why you care ENOENT(No such file or directory)
specifically?
Regards
Xiaogang
For ENOENT, it simply means the resource or file doesn't exist—it
doesn't indicate an error during eviction. We only need to focus on
actual eviction-related errors.
I think I know what you mean. But I have a different view on that.
ttm_resource_manager_evict_all release all resources associated with a
ttm_resource_manager(man). It is part of memory manager cleanup
sequence. Even it fail(no matter what reason is) I think the following
memory manager cleanup should still continue going, then the returned
error value should not be used to stop following clean up.
I think @Christian König can give judgment on it.
Regards
Xiaogang
Emily Deng
Best Wishes
EXPORT_SYMBOL(ttm_resource_manager_evict_all);
--
2.34.1