[PATCH v2 3/3] drm/amdgpu: Workaround IOMMU driver bug
Felix Kuehling
felix.kuehling at amd.com
Fri May 21 13:47:17 UTC 2021
Am 2021-05-21 um 4:41 a.m. schrieb Christian König:
> 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.
Yeah, I'm not ready to submit this hack. I want to run some more
experiments to see what's going on.
Regards,
Felix
>
> 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