[PATCH] drm/amdkfd: Share the original BO for GTT mapping

Felix Kuehling felix.kuehling at amd.com
Mon Aug 21 20:34:45 UTC 2023


On 2023-08-21 15:29, Philip Yang wrote:
> If mGPUs is on same IOMMU group, or is ram direct mapped, then mGPUs
> can share the original BO for GTT mapping dma address, without creating
> new BO from export/import dmabuf.
>
> Signed-off-by: Philip Yang <Philip.Yang at amd.com>

Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>


> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> index 282879c3441a..b5b940485059 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> @@ -864,9 +864,10 @@ static int kfd_mem_attach(struct amdgpu_device *adev, struct kgd_mem *mem,
>   
>   		if ((adev == bo_adev && !(mem->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_MMIO_REMAP)) ||
>   		    (amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm) && reuse_dmamap(adev, bo_adev)) ||
> -			same_hive) {
> +		    (mem->domain == AMDGPU_GEM_DOMAIN_GTT && reuse_dmamap(adev, bo_adev)) ||
> +		    same_hive) {
>   			/* Mappings on the local GPU, or VRAM mappings in the
> -			 * local hive, or userptr mapping can reuse dma map
> +			 * local hive, or userptr, or GTT mapping can reuse dma map
>   			 * address space share the original BO
>   			 */
>   			attachment[i]->type = KFD_MEM_ATT_SHARED;


More information about the amd-gfx mailing list