Re: [PATCH v2] drm/amdkfd: SVM map to gpus check vma boundary

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2021-09-16 5:11 p.m., Philip Yang wrote:
SVM range may includes multiple VMAs with different vm_flags, if prange
page index is the last page of the VMA offset + npages, update GPU
mapping to create GPU page table with same VMA access permission.

Signed-off-by: Philip Yang <Philip.Yang@xxxxxxx>
---
  drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index 110c46cd7fac..de91c7e83bb4 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@ -1178,7 +1178,12 @@ svm_range_map_to_gpu(struct amdgpu_device *adev, struct amdgpu_vm *vm,
  	for (i = offset; i < offset + npages; i++) {
  		last_domain = dma_addr[i] & SVM_RANGE_VRAM_DOMAIN;
  		dma_addr[i] &= ~SVM_RANGE_VRAM_DOMAIN;
-		if ((prange->start + i) < prange->last &&
+
+		/*
+		 * If i is not the last page in the range and next page is in
+		 * same VRAM or CPU domain

This comment doesn't add any information. It basically just restates the condition below without explaining the intention. Maybe something like this would be helpful instead:

/* Collect all pages in the same address range and memory domain that can
 * be mapped with a single call to amdgpu_vm_bo_update_mapping.
 */

With that fixed, the patch is

Reviewed-by: Felix Kuehling <Felix.Kuehling@xxxxxxx>

+		 */
+		if (i < offset + npages - 1 &&
  		    last_domain == (dma_addr[i + 1] & SVM_RANGE_VRAM_DOMAIN))
  			continue;



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux