Re: [PATCH] drm/amdkfd: reserve a fence slot while locking the BO

2023-10-20 Thread Felix Kuehling

On 2023-10-20 08:33, Christian König wrote:

Looks like the KFD still needs this.

Signed-off-by: Christian König 
Fixes: 8abc1eb2987a ("drm/amdkfd: switch over to using drm_exec v3")


To fix the immediate problem, this patch is

Acked-by: Felix Kuehling 

As I understand it, this reserves a fence slot for adding an eviction 
fence. I'm not convinced that this is the right place to do this. Not 
all callers of reserve_bo_and_vm add eviction fences. In another patch 
series I added the fence slot reservation in a new helper function 
amdgpu_amdkfd_bo_validate_and_fence.


Taking another step back, as I understand it, the pre-reservation of 
fence slots is there to avoid late failures after submitting commands to 
the HW. This isn't really a problem for KFD because eviction fences 
aren't directly linked to commands submitted to the HW. It's more like a 
place holder for future user mode submissions. So I think it's OK to 
reserve the fence slot just before attaching the fence to a BO resv. We 
don't have to do the pre-reservation here.


Regards,
  Felix



---
  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index 7d6daf8d2bfa..e036011137aa 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -1103,7 +1103,7 @@ static int reserve_bo_and_vm(struct kgd_mem *mem,
if (unlikely(ret))
goto error;
  
-		ret = drm_exec_lock_obj(>exec, >tbo.base);

+   ret = drm_exec_prepare_obj(>exec, >tbo.base, 1);
drm_exec_retry_on_contention(>exec);
if (unlikely(ret))
goto error;


Re: [PATCH] drm/amdkfd: reserve a fence slot while locking the BO

2023-10-20 Thread Deucher, Alexander
[Public]

Acked-by: Alex Deucher 

From: amd-gfx  on behalf of Christian 
König 
Sent: Friday, October 20, 2023 8:33 AM
To: Shi, Leslie ; Kuehling, Felix 
; amd-gfx@lists.freedesktop.org 

Cc: Koenig, Christian 
Subject: [PATCH] drm/amdkfd: reserve a fence slot while locking the BO

Looks like the KFD still needs this.

Signed-off-by: Christian König 
Fixes: 8abc1eb2987a ("drm/amdkfd: switch over to using drm_exec v3")
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index 7d6daf8d2bfa..e036011137aa 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -1103,7 +1103,7 @@ static int reserve_bo_and_vm(struct kgd_mem *mem,
 if (unlikely(ret))
 goto error;

-   ret = drm_exec_lock_obj(>exec, >tbo.base);
+   ret = drm_exec_prepare_obj(>exec, >tbo.base, 1);
 drm_exec_retry_on_contention(>exec);
 if (unlikely(ret))
 goto error;
--
2.34.1



[PATCH] drm/amdkfd: reserve a fence slot while locking the BO

2023-10-20 Thread Christian König
Looks like the KFD still needs this.

Signed-off-by: Christian König 
Fixes: 8abc1eb2987a ("drm/amdkfd: switch over to using drm_exec v3")
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index 7d6daf8d2bfa..e036011137aa 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -1103,7 +1103,7 @@ static int reserve_bo_and_vm(struct kgd_mem *mem,
if (unlikely(ret))
goto error;
 
-   ret = drm_exec_lock_obj(>exec, >tbo.base);
+   ret = drm_exec_prepare_obj(>exec, >tbo.base, 1);
drm_exec_retry_on_contention(>exec);
if (unlikely(ret))
goto error;
-- 
2.34.1