Am 2021-12-09 um 10:47 a.m. schrieb Philip Yang:
> For userptr bo, if adev is not in IOMMU isolation mode, RAM direct map
> to GPU, multiple GPUs use same system memory dma mapping address, they
> can share the original mem->bo in attachment to reduce dma address array
> memory usage.
>
> Signed-off-by: Philip Yang <philip.y...@amd.com>

The series is

Reviewed-by: Felix Kuehling <felix.kuehl...@amd.com>


> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> index b8490789eef4..f9bab963a948 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> @@ -708,10 +708,12 @@ static int kfd_mem_attach(struct amdgpu_device *adev, 
> struct kgd_mem *mem,
>               pr_debug("\t add VA 0x%llx - 0x%llx to vm %p\n", va,
>                        va + bo_size, vm);
>  
> -             if (adev == bo_adev || (mem->domain == AMDGPU_GEM_DOMAIN_VRAM &&
> -                                     amdgpu_xgmi_same_hive(adev, bo_adev))) {
> -                     /* Mappings on the local GPU and VRAM mappings in the
> -                      * local hive share the original BO
> +             if (adev == bo_adev ||
> +                (amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm) && 
> adev->ram_is_direct_mapped) ||
> +                (mem->domain == AMDGPU_GEM_DOMAIN_VRAM && 
> amdgpu_xgmi_same_hive(adev, bo_adev))) {
> +                     /* Mappings on the local GPU, or VRAM mappings in the
> +                      * local hive, or userptr mapping IOMMU direct map mode
> +                      * share the original BO
>                        */
>                       attachment[i]->type = KFD_MEM_ATT_SHARED;
>                       bo[i] = mem->bo;

Reply via email to