Re: [PATCH] drm/amdgpu/gpuvm: add some additional comments in amdgpu_vm_update_ptes

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

 



Am 30.10.19 um 19:41 schrieb Alex Deucher:
To better clarify what is happening in this function.

Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>

Reviewed-by: Christian König <christian.koenig@xxxxxxx>

---
  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 10 +++++++++-
  1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index c8ce42200059..3c0bd6472a46 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -1419,6 +1419,9 @@ static int amdgpu_vm_update_ptes(struct amdgpu_vm_update_params *params,
  		uint64_t incr, entry_end, pe_start;
  		struct amdgpu_bo *pt;
+ /* make sure that the page tables covering the address range are
+		 * actually allocated
+		 */
  		r = amdgpu_vm_alloc_pts(params->adev, params->vm, &cursor,
  					params->direct);
  		if (r)
@@ -1492,7 +1495,12 @@ static int amdgpu_vm_update_ptes(struct amdgpu_vm_update_params *params,
  		} while (frag_start < entry_end);
if (amdgpu_vm_pt_descendant(adev, &cursor)) {
-			/* Free all child entries */
+			/* Free all child entries.
+			 * Update the tables with the flags and addresses and free up subsequent
+			 * tables in the case of huge pages or freed up areas.
+			 * This is the maximum you can free, because all other page tables are not
+			 * completely covered by the range and so potentially still in use.
+			 */
  			while (cursor.pfn < frag_start) {
  				amdgpu_vm_free_pts(adev, params->vm, &cursor);
  				amdgpu_vm_pt_next(adev, &cursor);

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




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

  Powered by Linux