[PATCH v2 3/3] drm/amdgpu: Workaround IOMMU driver bug

Christian König ckoenig.leichtzumerken at gmail.com
Fri May 21 08:41:22 UTC 2021


Am 21.05.21 um 04:22 schrieb Felix Kuehling:
> The intel IOMMU driver causes kernel oopses or internal errors flooding
> kernel log when mapping larger SG tables. Limiting the size of userptr BOs
> to 6GB seems to avoid this.
>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>

CC whoever is the maintainer of the Intel IOMMU driver?

Would be nice to have that bug fixed instead.

Christian.

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> index 2b8b89535198..3becf9d9f8fd 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> @@ -1409,6 +1409,9 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
>   		domain = alloc_domain = AMDGPU_GEM_DOMAIN_GTT;
>   		alloc_flags = 0;
>   	} else if (flags & KFD_IOC_ALLOC_MEM_FLAGS_USERPTR) {
> +		/* workaround IOMMU driver bug */
> +		if (size >= (6ULL << 30))
> +			return -ENOMEM;
>   		domain = AMDGPU_GEM_DOMAIN_GTT;
>   		alloc_domain = AMDGPU_GEM_DOMAIN_CPU;
>   		alloc_flags = AMDGPU_GEM_CREATE_PREEMPTIBLE;



More information about the amd-gfx mailing list