]> Git Repo - linux.git/commitdiff
drm/amdgpu: Alloc page table on correct memory partition
authorPhilip Yang <[email protected]>
Fri, 24 Feb 2023 01:00:05 +0000 (20:00 -0500)
committerAlex Deucher <[email protected]>
Fri, 9 Jun 2023 14:36:33 +0000 (10:36 -0400)
Alloc kernel mode page table bo uses the amdgpu_vm->mem_id + 1 as bp
mem_id_plus1 parameter. For APU mode, select the correct TTM pool to
alloc page from the corresponding memory partition, this will be the
closest NUMA node. For dGPU mode, select the correct address range for
vram manager.

Signed-off-by: Philip Yang <[email protected]>
Reviewed-by: Felix Kuehling <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c

index 60b1da93b06dd00d12217190ef9820fc27e5164c..62fc7e8d326ef7a5064236f23fe1038426bbf2d3 100644 (file)
@@ -534,6 +534,8 @@ int amdgpu_vm_pt_create(struct amdgpu_device *adev, struct amdgpu_vm *vm,
 
        bp.type = ttm_bo_type_kernel;
        bp.no_wait_gpu = immediate;
+       bp.mem_id_plus1 = vm->mem_id + 1;
+
        if (vm->root.bo)
                bp.resv = vm->root.bo->tbo.base.resv;
 
@@ -558,6 +560,7 @@ int amdgpu_vm_pt_create(struct amdgpu_device *adev, struct amdgpu_vm *vm,
        bp.type = ttm_bo_type_kernel;
        bp.resv = bo->tbo.base.resv;
        bp.bo_ptr_size = sizeof(struct amdgpu_bo);
+       bp.mem_id_plus1 = vm->mem_id + 1;
 
        r = amdgpu_bo_create(adev, &bp, &(*vmbo)->shadow);
 
This page took 0.061441 seconds and 4 git commands to generate.