[PATCH 1/2] drm/amdgpu: fix PRT cleanup order in the VM
Christian König
deathsimple at vodafone.de
Mon Feb 13 18:32:12 UTC 2017
Am 13.02.2017 um 18:32 schrieb Nicolai Hähnle:
> 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.
Yeah, that's actually another issue. Going to work on that as well.
I probably should come up with a more complete solution covering both cases.
Regards,
Christian.
>
> 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