Re: [PATCH 2/2] drm/amdkfd: unregistered range accessible by all GPUs
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
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
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