> -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf > Of Christian König > Sent: Friday, September 01, 2017 9:05 AM > To: amd-gfx at lists.freedesktop.org > Subject: [PATCH] drm/amdgpu: fix moved list handling in the VM > > From: Christian König <christian.koenig at amd.com> > > Only move BOs to the moved/relocated list when they aren't already on a > list. > > This prevents accidential removal from the evicted list. > > Signed-off-by: Christian König <christian.koenig at amd.com> Reviewed-by: Alex Deucher <alexander.deucher at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 8910e20..cfc8de8 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -1177,7 +1177,8 @@ static void amdgpu_vm_invalidate_level(struct > amdgpu_vm *vm, > > entry->addr = ~0ULL; > spin_lock(&vm->status_lock); > - list_move(&entry->base.vm_status, &vm->relocated); > + if (list_empty(&entry->base.vm_status)) > + list_add(&entry->base.vm_status, &vm->relocated); > spin_unlock(&vm->status_lock); > amdgpu_vm_invalidate_level(vm, entry); > } > @@ -2090,7 +2091,8 @@ static void amdgpu_vm_bo_insert_map(struct > amdgpu_device *adev, > > if (bo && bo->tbo.resv == vm->root.base.bo->tbo.resv) { > spin_lock(&vm->status_lock); > - list_move(&bo_va->base.vm_status, &vm->moved); > + if (list_empty(&bo_va->base.vm_status)) > + list_add(&bo_va->base.vm_status, &vm->moved); > spin_unlock(&vm->status_lock); > } > trace_amdgpu_vm_bo_map(bo_va, mapping); > @@ -2445,7 +2447,8 @@ void amdgpu_vm_bo_invalidate(struct > amdgpu_device *adev, > } > > spin_lock(&bo_base->vm->status_lock); > - list_move(&bo_base->vm_status, &bo_base->vm->moved); > + if (list_empty(&bo_base->vm_status)) > + list_add(&bo_base->vm_status, &vm->moved); > spin_unlock(&bo_base->vm->status_lock); > } > } > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx