Re: [PATCH 2/2] drm/amdkfd: unregistered range accessible by all GPUs

2021-05-11 Thread philip yang

  


On 2021-05-10 8:56 a.m., Felix Kuehling
  wrote:


  Am 2021-05-07 um 3:07 p.m. schrieb Philip Yang:

  
New range is created to recover retry vm fault, set all GPUs have access
to the range. The new range preferred_loc is default value
KFD_IOCTL_SVM_LOCATION_UNDEFINED.

Correct one typo.

Signed-off-by: Philip Yang 

  
  
Would it be better to move this into svm_range_new, conditional on
p->xnack_enabled? That way it would correctly apply to ranges created
through SVM API calls (e.g. in svm_range_handle_overlap or
svm_range_add) as well?


Yes, this is good idea, patch 1/2 is not needed with this change.

Philip


  
Regards,
  Felix



  
---
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index d9111fea724b..537b12e75f54 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@ -2243,7 +2243,7 @@ svm_range *svm_range_create_unregistered_range(struct amdgpu_device *adev,
 
 	prange = svm_range_new(>svms, start, last);
 	if (!prange) {
-		pr_debug("Failed to create prange in address [0x%llx]\\n", addr);
+		pr_debug("Failed to create prange in address [0x%llx]\n", addr);
 		return NULL;
 	}
 	if (kfd_process_gpuid_from_kgd(p, adev, , )) {
@@ -2251,9 +2251,8 @@ svm_range *svm_range_create_unregistered_range(struct amdgpu_device *adev,
 		svm_range_free(prange);
 		return NULL;
 	}
-	prange->preferred_loc = gpuid;
-	prange->actual_loc = 0;
-	/* Gurantee prange is migrate it */
+
+	bitmap_fill(prange->bitmap_access, MAX_GPU_INSTANCE);
 	svm_range_add_to_svms(prange);
 	svm_range_add_notifier_locked(mm, prange);
 

  

  

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: [PATCH 2/2] drm/amdkfd: unregistered range accessible by all GPUs

2021-05-10 Thread Felix Kuehling
Am 2021-05-07 um 3:07 p.m. schrieb Philip Yang:
> New range is created to recover retry vm fault, set all GPUs have access
> to the range. The new range preferred_loc is default value
> KFD_IOCTL_SVM_LOCATION_UNDEFINED.
>
> Correct one typo.
>
> Signed-off-by: Philip Yang 

Would it be better to move this into svm_range_new, conditional on
p->xnack_enabled? That way it would correctly apply to ranges created
through SVM API calls (e.g. in svm_range_handle_overlap or
svm_range_add) as well?

Regards,
  Felix


> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 7 +++
>  1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c 
> b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
> index d9111fea724b..537b12e75f54 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
> @@ -2243,7 +2243,7 @@ svm_range *svm_range_create_unregistered_range(struct 
> amdgpu_device *adev,
>  
>   prange = svm_range_new(>svms, start, last);
>   if (!prange) {
> - pr_debug("Failed to create prange in address [0x%llx]\\n", 
> addr);
> + pr_debug("Failed to create prange in address [0x%llx]\n", addr);
>   return NULL;
>   }
>   if (kfd_process_gpuid_from_kgd(p, adev, , )) {
> @@ -2251,9 +2251,8 @@ svm_range *svm_range_create_unregistered_range(struct 
> amdgpu_device *adev,
>   svm_range_free(prange);
>   return NULL;
>   }
> - prange->preferred_loc = gpuid;
> - prange->actual_loc = 0;
> - /* Gurantee prange is migrate it */
> +
> + bitmap_fill(prange->bitmap_access, MAX_GPU_INSTANCE);
>   svm_range_add_to_svms(prange);
>   svm_range_add_notifier_locked(mm, prange);
>  
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


[PATCH 2/2] drm/amdkfd: unregistered range accessible by all GPUs

2021-05-07 Thread Philip Yang
New range is created to recover retry vm fault, set all GPUs have access
to the range. The new range preferred_loc is default value
KFD_IOCTL_SVM_LOCATION_UNDEFINED.

Correct one typo.

Signed-off-by: Philip Yang 
---
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index d9111fea724b..537b12e75f54 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@ -2243,7 +2243,7 @@ svm_range *svm_range_create_unregistered_range(struct 
amdgpu_device *adev,
 
prange = svm_range_new(>svms, start, last);
if (!prange) {
-   pr_debug("Failed to create prange in address [0x%llx]\\n", 
addr);
+   pr_debug("Failed to create prange in address [0x%llx]\n", addr);
return NULL;
}
if (kfd_process_gpuid_from_kgd(p, adev, , )) {
@@ -2251,9 +2251,8 @@ svm_range *svm_range_create_unregistered_range(struct 
amdgpu_device *adev,
svm_range_free(prange);
return NULL;
}
-   prange->preferred_loc = gpuid;
-   prange->actual_loc = 0;
-   /* Gurantee prange is migrate it */
+
+   bitmap_fill(prange->bitmap_access, MAX_GPU_INSTANCE);
svm_range_add_to_svms(prange);
svm_range_add_notifier_locked(mm, prange);
 
-- 
2.17.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx