On 2019-01-31 4:23 a.m., Przemek Socha wrote:
> Dnia środa, 30 stycznia 2019 13:42:33 CET piszesz:
>> Does the attached patch fix the issue?
>>
>> Christian.
> 
> I have tested this one also - "drm/amdgpu: partial revert cleanup setting
> bulk_movable v2"
> 
>> We still need to set bulk_movable to false when new BOs are added or removed.
>>
>> v2: also set it to false on removal
>>
>> Signed-off-by: Christian König <christian.koe...@amd.com>
>> ---
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/
>> amdgpu/amdgpu_vm.c
>> index 79f9dde70bc0..822546a149fa 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> @@ -332,6 +332,7 @@  static void amdgpu_vm_bo_base_init(struct
>> amdgpu_vm_bo_base *base,
>>      if (bo->tbo.resv != vm->root.base.bo->tbo.resv)
>>              return;
>>
>> +    vm->bulk_moveable = false;
>>      if (bo->tbo.type == ttm_bo_type_kernel)
>>              amdgpu_vm_bo_relocated(base);
>>      else
>> @@ -2772,6 +2773,9 @@  void amdgpu_vm_bo_rmv(struct amdgpu_device *adev,
>>      struct amdgpu_vm_bo_base **base;
>>
>>      if (bo) {
>> +            if (bo->tbo.resv == vm->root.base.bo->tbo.resv)
>> +                    vm->bulk_moveable = false;
>> +
>>              for (base = &bo_va->base.bo->vm_bo; *base;
>>                   base = &(*base)->next) {
>>                      if (*base != &bo_va->base)
> 
> and so far I have no lockup and Oops, so I think this one is ok.

In my experience only the last chunk of the patch is necessary.  Can you 
try this without:

 >> +   vm->bulk_moveable = false;

Too?

Thanks,
Tom
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to