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

Felix Kuehling felix.kuehling at amd.com
Mon May 10 12:56:45 UTC 2021


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 <Philip.Yang at amd.com>

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(&p->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, &gpuid, &gpuidx)) {
> @@ -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);
>  


More information about the amd-gfx mailing list