[PATCH 1/2] drm/amdgpu: fix PRT cleanup order in the VM

Nicolai Hähnle nhaehnle at gmail.com
Mon Feb 13 17:32:15 UTC 2017


On 13.02.2017 17:40, Nicolai Hähnle wrote:
> On 13.02.2017 14:23, Christian König wrote:
>> From: Christian König <christian.koenig at amd.com>
>>
>> We need to unmap the PRTs first and then free our scheduler entity.
>
> Thanks for the quick fix! Both patches are
>
> Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
> ... and I'll probably get around to testing them soon, as well.

Hmm, I still get both the "suspicious RCU" and amdgpu_bo_gpu_offset warning.

Nicolai

>
>>
>> Signed-off-by: Christian König <christian.koenig at amd.com>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> index bc32239..0b7386e 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> @@ -1687,8 +1687,6 @@ void amdgpu_vm_fini(struct amdgpu_device *adev,
>> struct amdgpu_vm *vm)
>>      struct amdgpu_bo_va_mapping *mapping, *tmp;
>>      int i;
>>
>> -    amd_sched_entity_fini(vm->entity.sched, &vm->entity);
>> -
>>      if (!RB_EMPTY_ROOT(&vm->va)) {
>>          dev_err(adev->dev, "still active bo inside vm\n");
>>      }
>> @@ -1706,6 +1704,8 @@ void amdgpu_vm_fini(struct amdgpu_device *adev,
>> struct amdgpu_vm *vm)
>>      }
>>      amdgpu_vm_clear_freed(adev, vm);
>>
>> +    amd_sched_entity_fini(vm->entity.sched, &vm->entity);
>> +
>>      for (i = 0; i < amdgpu_vm_num_pdes(adev); i++) {
>>          struct amdgpu_bo *pt = vm->page_tables[i].bo;
>>
>>
>



More information about the amd-gfx mailing list