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.koenig@xxxxxxx> >> --- >> 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@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx