[PATCH v2] drm/amdgpu: Verify root PD is mapped into kernel address space.

Andrey Grodzovsky Andrey.Grodzovsky at amd.com
Fri Jul 6 13:50:33 UTC 2018



On 07/06/2018 04:02 AM, Christian König wrote:
> Am 05.07.2018 um 20:56 schrieb Andrey Grodzovsky:
>> Problem: When PD/PT update made by CPU root PD was not yet mapped 
>> causing
>> page fault.
>>
>> Fix: Verify root PD is mapped into CPU address space.
>>
>> v2:
>> Make sure that we add the root PD to the relocated list
>> since then it's get mapped into CPU address space bt default
>> in amdgpu_vm_update_directories.
>>
>> Link: https://bugs.freedesktop.org/show_bug.cgi?id=107065
>> Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>
>>
>> Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 6 +++++-
>>   1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> index 845f73a..1a8caf1 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> @@ -156,6 +156,9 @@ static void amdgpu_vm_bo_base_init(struct 
>> amdgpu_vm_bo_base *base,
>>           return;
>>       list_add_tail(&base->bo_list, &bo->va);
>>   +    if (bo->tbo.type == ttm_bo_type_kernel)
>> +        list_move(&base->vm_status, &vm->relocated);
>> +
>>       if (bo->tbo.resv != vm->root.base.bo->tbo.resv)
>>           return;
>>   @@ -168,7 +171,8 @@ static void amdgpu_vm_bo_base_init(struct 
>> amdgpu_vm_bo_base *base,
>>        * is currently evicted. add the bo to the evicted list to make 
>> sure it
>>        * is validated on next vm use to avoid fault.
>>        * */
>> -    list_move_tail(&base->vm_status, &vm->evicted);
>> +    if (bo->tbo.type != ttm_bo_type_kernel)
>> +        list_move_tail(&base->vm_status, &vm->evicted);
>
> You need to drop that chunk, the evicted state supersedes the 
> relocated state (e.g. when they are validated they move from evicted 
> to relocated).

I don't get it, can you explain more in detail why it's OK to remove it 
? They will not be in evicted list any more.

Andrey

>
> Additional to that the now superfluous move in 
> amdgpu_vm_alloc_levels() can be removed.
>
> Christian.
>
>>   }
>>     /**
>



More information about the amd-gfx mailing list