AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] drm/ttm: Should to return the evict error
@ 2025-05-21  3:56 Emily Deng
  2025-05-22  2:42 ` Deng, Emily
  2025-06-02 10:05 ` Christian König
  0 siblings, 2 replies; 10+ messages in thread
From: Emily Deng @ 2025-05-21  3:56 UTC (permalink / raw)
  To: amd-gfx; +Cc: Emily Deng

For the evict fail case, the evict error should be returned.

v2: Consider ENOENT case.

Signed-off-by: Emily Deng <Emily.Deng@amd.com>
---
 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;
 }
 EXPORT_SYMBOL(ttm_resource_manager_evict_all);
 
-- 
2.34.1


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

* RE: [PATCH v2] drm/ttm: Should to return the evict error
  2025-05-21  3:56 [PATCH v2] drm/ttm: Should to return the evict error Emily Deng
@ 2025-05-22  2:42 ` Deng, Emily
  2025-05-22 22:27   ` Chen, Xiaogang
  2025-06-02 10:05 ` Christian König
  1 sibling, 1 reply; 10+ messages in thread
From: Deng, Emily @ 2025-05-22  2:42 UTC (permalink / raw)
  To: Deng, Emily, amd-gfx@lists.freedesktop.org

[AMD Official Use Only - AMD Internal Distribution Only]

Ping......

Emily Deng
Best Wishes



>-----Original Message-----
>From: Emily Deng <Emily.Deng@amd.com>
>Sent: Wednesday, May 21, 2025 11:57 AM
>To: amd-gfx@lists.freedesktop.org
>Cc: Deng, Emily <Emily.Deng@amd.com>
>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 <Emily.Deng@amd.com>
>---
> 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;
> }
> EXPORT_SYMBOL(ttm_resource_manager_evict_all);
>
>--
>2.34.1


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

* Re: [PATCH v2] drm/ttm: Should to return the evict error
  2025-05-22  2:42 ` Deng, Emily
@ 2025-05-22 22:27   ` Chen, Xiaogang
  2025-05-26  1:51     ` Deng, Emily
  0 siblings, 1 reply; 10+ messages in thread
From: Chen, Xiaogang @ 2025-05-22 22:27 UTC (permalink / raw)
  To: Deng, Emily, amd-gfx@lists.freedesktop.org

[-- Attachment #1: Type: text/plain, Size: 1880 bytes --]


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<Emily.Deng@amd.com>
>> Sent: Wednesday, May 21, 2025 11:57 AM
>> To:amd-gfx@lists.freedesktop.org
>> Cc: Deng, Emily<Emily.Deng@amd.com>
>> 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<Emily.Deng@amd.com>
>> ---
>> 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

>> EXPORT_SYMBOL(ttm_resource_manager_evict_all);
>>
>> --
>> 2.34.1

[-- Attachment #2: Type: text/html, Size: 2921 bytes --]

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

* RE: [PATCH v2] drm/ttm: Should to return the evict error
  2025-05-22 22:27   ` Chen, Xiaogang
@ 2025-05-26  1:51     ` Deng, Emily
  2025-05-28  6:19       ` Deng, Emily
  0 siblings, 1 reply; 10+ messages in thread
From: Deng, Emily @ 2025-05-26  1:51 UTC (permalink / raw)
  To: Chen, Xiaogang, amd-gfx@lists.freedesktop.org

[-- Attachment #1: Type: text/plain, Size: 2525 bytes --]

[AMD Official Use Only - AMD Internal Distribution Only]



From: Chen, Xiaogang <Xiaogang.Chen@amd.com>
Sent: Friday, May 23, 2025 6:27 AM
To: Deng, Emily <Emily.Deng@amd.com>; amd-gfx@lists.freedesktop.org
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 <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

Sent: Wednesday, May 21, 2025 11:57 AM

To: amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>

Cc: Deng, Emily <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

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 <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

---

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.

Emily Deng
Best Wishes






EXPORT_SYMBOL(ttm_resource_manager_evict_all);



--

2.34.1



[-- Attachment #2: Type: text/html, Size: 8621 bytes --]

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

* RE: [PATCH v2] drm/ttm: Should to return the evict error
  2025-05-26  1:51     ` Deng, Emily
@ 2025-05-28  6:19       ` Deng, Emily
  2025-05-28 21:14         ` Chen, Xiaogang
  0 siblings, 1 reply; 10+ messages in thread
From: Deng, Emily @ 2025-05-28  6:19 UTC (permalink / raw)
  To: Deng, Emily, Zhang, Owen(SRDC)
  Cc: Chen, Xiaogang, amd-gfx@lists.freedesktop.org

[-- Attachment #1: Type: text/plain, Size: 3008 bytes --]

[AMD Official Use Only - AMD Internal Distribution Only]



From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org> On Behalf Of Deng, Emily
Sent: Monday, May 26, 2025 9:51 AM
To: Chen, Xiaogang <Xiaogang.Chen@amd.com>; amd-gfx@lists.freedesktop.org
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 <Xiaogang.Chen@amd.com<mailto:Xiaogang.Chen@amd.com>>
Sent: Friday, May 23, 2025 6:27 AM
To: Deng, Emily <Emily.Deng@amd.com<mailto:Emily.Deng@amd.com>>; amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>
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 <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

Sent: Wednesday, May 21, 2025 11:57 AM

To: amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>

Cc: Deng, Emily <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

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 <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

---

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.

Emily Deng
Best Wishes






EXPORT_SYMBOL(ttm_resource_manager_evict_all);



--

2.34.1



[-- Attachment #2: Type: text/html, Size: 10255 bytes --]

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

* Re: [PATCH v2] drm/ttm: Should to return the evict error
  2025-05-28  6:19       ` Deng, Emily
@ 2025-05-28 21:14         ` Chen, Xiaogang
  2025-05-29  3:36           ` Deng, Emily
  0 siblings, 1 reply; 10+ messages in thread
From: Chen, Xiaogang @ 2025-05-28 21:14 UTC (permalink / raw)
  To: Deng, Emily, Zhang, Owen(SRDC); +Cc: amd-gfx@lists.freedesktop.org

[-- Attachment #1: Type: text/plain, Size: 3892 bytes --]


On 5/28/2025 1:19 AM, Deng, Emily wrote:
>
> [AMD Official Use Only - AMD Internal Distribution Only]
>
>
> *From:*amd-gfx <amd-gfx-bounces@lists.freedesktop.org> *On Behalf Of 
> *Deng, Emily
> *Sent:* Monday, May 26, 2025 9:51 AM
> *To:* Chen, Xiaogang <Xiaogang.Chen@amd.com>; 
> amd-gfx@lists.freedesktop.org
> *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 <Xiaogang.Chen@amd.com>
> *Sent:* Friday, May 23, 2025 6:27 AM
> *To:* Deng, Emily <Emily.Deng@amd.com>; amd-gfx@lists.freedesktop.org
> *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<Emily.Deng@amd.com> <mailto:Emily.Deng@amd.com>
>
>         Sent: Wednesday, May 21, 2025 11:57 AM
>
>         To:amd-gfx@lists.freedesktop.org
>
>         Cc: Deng, Emily<Emily.Deng@amd.com> <mailto:Emily.Deng@amd.com>
>
>         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<Emily.Deng@amd.com> <mailto:Emily.Deng@amd.com>
>
>         ---
>
>         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
>

[-- Attachment #2: Type: text/html, Size: 14274 bytes --]

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

* RE: [PATCH v2] drm/ttm: Should to return the evict error
  2025-05-28 21:14         ` Chen, Xiaogang
@ 2025-05-29  3:36           ` Deng, Emily
  2025-05-30  1:40             ` Deng, Emily
  0 siblings, 1 reply; 10+ messages in thread
From: Deng, Emily @ 2025-05-29  3:36 UTC (permalink / raw)
  To: Chen, Xiaogang, Zhang, Owen(SRDC); +Cc: amd-gfx@lists.freedesktop.org

[-- Attachment #1: Type: text/plain, Size: 4142 bytes --]

[AMD Official Use Only - AMD Internal Distribution Only]



From: Chen, Xiaogang <Xiaogang.Chen@amd.com>
Sent: Thursday, May 29, 2025 5:15 AM
To: Deng, Emily <Emily.Deng@amd.com>; Zhang, Owen(SRDC) <Owen.Zhang2@amd.com>
Cc: amd-gfx@lists.freedesktop.org
Subject: Re: [PATCH v2] drm/ttm: Should to return the evict error



On 5/28/2025 1:19 AM, Deng, Emily wrote:

[AMD Official Use Only - AMD Internal Distribution Only]



From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org><mailto:amd-gfx-bounces@lists.freedesktop.org> On Behalf Of Deng, Emily
Sent: Monday, May 26, 2025 9:51 AM
To: Chen, Xiaogang <Xiaogang.Chen@amd.com><mailto:Xiaogang.Chen@amd.com>; amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>
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 <Xiaogang.Chen@amd.com<mailto:Xiaogang.Chen@amd.com>>
Sent: Friday, May 23, 2025 6:27 AM
To: Deng, Emily <Emily.Deng@amd.com<mailto:Emily.Deng@amd.com>>; amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>
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 <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

Sent: Wednesday, May 21, 2025 11:57 AM

To: amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>

Cc: Deng, Emily <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

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 <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

---

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.

Whether needs to stop following steps depends on the detail use case. For example, for amdgpu_device_suspend, if the evict fail, then need to stop suspend.

Regards

Xiaogang

Emily Deng
Best Wishes






EXPORT_SYMBOL(ttm_resource_manager_evict_all);



--

2.34.1



[-- Attachment #2: Type: text/html, Size: 12973 bytes --]

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

* RE: [PATCH v2] drm/ttm: Should to return the evict error
  2025-05-29  3:36           ` Deng, Emily
@ 2025-05-30  1:40             ` Deng, Emily
  2025-05-30  9:48               ` Zhang, Owen(SRDC)
  0 siblings, 1 reply; 10+ messages in thread
From: Deng, Emily @ 2025-05-30  1:40 UTC (permalink / raw)
  To: Deng, Emily, Chen, Xiaogang, Zhang, Owen(SRDC), Koenig, Christian
  Cc: amd-gfx@lists.freedesktop.org

[-- Attachment #1: Type: text/plain, Size: 4810 bytes --]

[AMD Official Use Only - AMD Internal Distribution Only]

@Koenig, Christian<mailto:Christian.Koenig@amd.com> can give judgment on it? Thanks.

Emily Deng
Best Wishes
From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org> On Behalf Of Deng, Emily
Sent: Thursday, May 29, 2025 11:37 AM
To: Chen, Xiaogang <Xiaogang.Chen@amd.com>; Zhang, Owen(SRDC) <Owen.Zhang2@amd.com>
Cc: amd-gfx@lists.freedesktop.org
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 <Xiaogang.Chen@amd.com<mailto:Xiaogang.Chen@amd.com>>
Sent: Thursday, May 29, 2025 5:15 AM
To: Deng, Emily <Emily.Deng@amd.com<mailto:Emily.Deng@amd.com>>; Zhang, Owen(SRDC) <Owen.Zhang2@amd.com<mailto:Owen.Zhang2@amd.com>>
Cc: amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>
Subject: Re: [PATCH v2] drm/ttm: Should to return the evict error



On 5/28/2025 1:19 AM, Deng, Emily wrote:

[AMD Official Use Only - AMD Internal Distribution Only]



From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org><mailto:amd-gfx-bounces@lists.freedesktop.org> On Behalf Of Deng, Emily
Sent: Monday, May 26, 2025 9:51 AM
To: Chen, Xiaogang <Xiaogang.Chen@amd.com><mailto:Xiaogang.Chen@amd.com>; amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>
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 <Xiaogang.Chen@amd.com<mailto:Xiaogang.Chen@amd.com>>
Sent: Friday, May 23, 2025 6:27 AM
To: Deng, Emily <Emily.Deng@amd.com<mailto:Emily.Deng@amd.com>>; amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>
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 <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

Sent: Wednesday, May 21, 2025 11:57 AM

To: amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>

Cc: Deng, Emily <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

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 <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

---

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.

Whether needs to stop following steps depends on the detail use case. For example, for amdgpu_device_suspend, if the evict fail, then need to stop suspend.

Regards

Xiaogang

Emily Deng
Best Wishes






EXPORT_SYMBOL(ttm_resource_manager_evict_all);



--

2.34.1



[-- Attachment #2: Type: text/html, Size: 15248 bytes --]

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

* RE: [PATCH v2] drm/ttm: Should to return the evict error
  2025-05-30  1:40             ` Deng, Emily
@ 2025-05-30  9:48               ` Zhang, Owen(SRDC)
  0 siblings, 0 replies; 10+ messages in thread
From: Zhang, Owen(SRDC) @ 2025-05-30  9:48 UTC (permalink / raw)
  To: Deng, Emily, Chen, Xiaogang, Koenig, Christian
  Cc: amd-gfx@lists.freedesktop.org

[-- Attachment #1: Type: text/plain, Size: 5488 bytes --]

[AMD Official Use Only - AMD Internal Distribution Only]

@Koenig, Christian<mailto:Christian.Koenig@amd.com>… can you pls provide your expertise? Thanks for support.


Rgds/Owen

From: Deng, Emily <Emily.Deng@amd.com>
Sent: Friday, May 30, 2025 9:41 AM
To: Deng, Emily <Emily.Deng@amd.com>; Chen, Xiaogang <Xiaogang.Chen@amd.com>; Zhang, Owen(SRDC) <Owen.Zhang2@amd.com>; Koenig, Christian <Christian.Koenig@amd.com>
Cc: amd-gfx@lists.freedesktop.org
Subject: RE: [PATCH v2] drm/ttm: Should to return the evict error


[AMD Official Use Only - AMD Internal Distribution Only]

@Koenig, Christian<mailto:Christian.Koenig@amd.com> can give judgment on it? Thanks.

Emily Deng
Best Wishes
From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org<mailto:amd-gfx-bounces@lists.freedesktop.org>> On Behalf Of Deng, Emily
Sent: Thursday, May 29, 2025 11:37 AM
To: Chen, Xiaogang <Xiaogang.Chen@amd.com<mailto:Xiaogang.Chen@amd.com>>; Zhang, Owen(SRDC) <Owen.Zhang2@amd.com<mailto:Owen.Zhang2@amd.com>>
Cc: amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>
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 <Xiaogang.Chen@amd.com<mailto:Xiaogang.Chen@amd.com>>
Sent: Thursday, May 29, 2025 5:15 AM
To: Deng, Emily <Emily.Deng@amd.com<mailto:Emily.Deng@amd.com>>; Zhang, Owen(SRDC) <Owen.Zhang2@amd.com<mailto:Owen.Zhang2@amd.com>>
Cc: amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>
Subject: Re: [PATCH v2] drm/ttm: Should to return the evict error



On 5/28/2025 1:19 AM, Deng, Emily wrote:

[AMD Official Use Only - AMD Internal Distribution Only]



From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org><mailto:amd-gfx-bounces@lists.freedesktop.org> On Behalf Of Deng, Emily
Sent: Monday, May 26, 2025 9:51 AM
To: Chen, Xiaogang <Xiaogang.Chen@amd.com><mailto:Xiaogang.Chen@amd.com>; amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>
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 <Xiaogang.Chen@amd.com<mailto:Xiaogang.Chen@amd.com>>
Sent: Friday, May 23, 2025 6:27 AM
To: Deng, Emily <Emily.Deng@amd.com<mailto:Emily.Deng@amd.com>>; amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>
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 <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

Sent: Wednesday, May 21, 2025 11:57 AM

To: amd-gfx@lists.freedesktop.org<mailto:amd-gfx@lists.freedesktop.org>

Cc: Deng, Emily <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

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 <Emily.Deng@amd.com><mailto:Emily.Deng@amd.com>

---

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.

Whether needs to stop following steps depends on the detail use case. For example, for amdgpu_device_suspend, if the evict fail, then need to stop suspend.

Regards

Xiaogang

Emily Deng
Best Wishes






EXPORT_SYMBOL(ttm_resource_manager_evict_all);



--

2.34.1



[-- Attachment #2: Type: text/html, Size: 17570 bytes --]

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

* Re: [PATCH v2] drm/ttm: Should to return the evict error
  2025-05-21  3:56 [PATCH v2] drm/ttm: Should to return the evict error Emily Deng
  2025-05-22  2:42 ` Deng, Emily
@ 2025-06-02 10:05 ` Christian König
  1 sibling, 0 replies; 10+ messages in thread
From: Christian König @ 2025-06-02 10:05 UTC (permalink / raw)
  To: Emily Deng, amd-gfx

On 5/21/25 05:56, Emily Deng wrote:
> For the evict fail case, the evict error should be returned.
> 
> v2: Consider ENOENT case.
> 
> Signed-off-by: Emily Deng <Emily.Deng@amd.com>
> ---
>  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);


We should probably abort here directly when the eviction failed for some reason (except for -ENOENT) and not wait for the move to finish.

Regards,
Christian.

>  
>  	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;
>  }
>  EXPORT_SYMBOL(ttm_resource_manager_evict_all);
>  


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

end of thread, other threads:[~2025-06-02 10:06 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-21  3:56 [PATCH v2] drm/ttm: Should to return the evict error Emily Deng
2025-05-22  2:42 ` Deng, Emily
2025-05-22 22:27   ` Chen, Xiaogang
2025-05-26  1:51     ` Deng, Emily
2025-05-28  6:19       ` Deng, Emily
2025-05-28 21:14         ` Chen, Xiaogang
2025-05-29  3:36           ` Deng, Emily
2025-05-30  1:40             ` Deng, Emily
2025-05-30  9:48               ` Zhang, Owen(SRDC)
2025-06-02 10:05 ` Christian König

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox