[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