[PATCH 1/2] drm/amdgpu: Remove unnecessary TLB workaround
Christian König
ckoenig.leichtzumerken at gmail.com
Fri Aug 30 07:09:35 UTC 2019
Am 30.08.19 um 07:14 schrieb Kuehling, Felix:
> This workaround is better handled in user mode in a way that doesn't
> require allocating extra memory and breaking userptr BOs.
>
> The TLB bug is a performance bug, not a functional or security bug.
> Hence it is safe to remove this kernel part of the workaround to
> allow a better workaround using only virtual address alignments in
> user mode.
>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
Maybe the VI_BO_SIZE_ALIGN define can now be removed as well?
Apart from that this patch is Reviewed-by: Christian König
<christian.koenig at amd.com>.
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 12 +-----------
> 1 file changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> index 42d209f5fd18..2c73ea7c425c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> @@ -1110,7 +1110,6 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
> uint64_t user_addr = 0;
> struct amdgpu_bo *bo;
> struct amdgpu_bo_param bp;
> - int byte_align;
> u32 domain, alloc_domain;
> u64 alloc_flags;
> int ret;
> @@ -1165,15 +1164,6 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
> if ((*mem)->aql_queue)
> size = size >> 1;
>
> - /* Workaround for TLB bug on older VI chips */
> - byte_align = (adev->family == AMDGPU_FAMILY_VI &&
> - adev->asic_type != CHIP_FIJI &&
> - adev->asic_type != CHIP_POLARIS10 &&
> - adev->asic_type != CHIP_POLARIS11 &&
> - adev->asic_type != CHIP_POLARIS12 &&
> - adev->asic_type != CHIP_VEGAM) ?
> - VI_BO_SIZE_ALIGN : 1;
> -
> (*mem)->alloc_flags = flags;
>
> amdgpu_sync_create(&(*mem)->sync);
> @@ -1189,7 +1179,7 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
>
> memset(&bp, 0, sizeof(bp));
> bp.size = size;
> - bp.byte_align = byte_align;
> + bp.byte_align = 1;
> bp.domain = alloc_domain;
> bp.flags = alloc_flags;
> bp.type = bo_type;
More information about the amd-gfx
mailing list