[PATCH] drm/amdgpu: Let BO created in its allowed_domain

xinhui pan xinhui.pan at amd.com
Fri Sep 17 07:04:44 UTC 2021


For any user BO, it is allowed to alloc memory in both GTT and VRAM
domain. That means one VRAM BO could be eviced to GTT.

Now if device is already lack of VRAM, this BO could alloc memory from
GTT directly without evicting other VRAM BO. In this way we can reduce
memory evictions.

Signed-off-by: xinhui pan <xinhui.pan at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
index 66bb8a53bb20..9a547bb38cda 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
@@ -579,7 +579,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
 			  AMDGPU_GEM_DOMAIN_GDS))
 		amdgpu_bo_placement_from_domain(bo, AMDGPU_GEM_DOMAIN_CPU);
 	else
-		amdgpu_bo_placement_from_domain(bo, bp->domain);
+		amdgpu_bo_placement_from_domain(bo, bo->allowed_domains);
 	if (bp->type == ttm_bo_type_kernel)
 		bo->tbo.priority = 1;
 
-- 
2.25.1



More information about the amd-gfx mailing list