Could you stop the clean for syncing? and wait we turn back performance first? Since you merge too kinds of fence to vm->last_update, we will be difficult to optimize which fence can remove. Regards, David Zhou On 2017å¹´09æ??12æ?¥ 20:06, Christian König wrote: > From: Christian König <christian.koenig at amd.com> > > Just clean that up a bit more. > > Signed-off-by: Christian König <christian.koenig at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 5 ----- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 +- > 2 files changed, 1 insertion(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > index b59749d..db5dbd3 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > @@ -760,11 +760,6 @@ static int amdgpu_bo_vm_update_pte(struct amdgpu_cs_parser *p) > if (r) > return r; > > - r = amdgpu_sync_fence(adev, &p->job->sync, > - fpriv->prt_va->last_pt_update); > - if (r) > - return r; > - > if (amdgpu_sriov_vf(adev)) { > struct dma_fence *f; > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 6b95ba6..2f577da 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -1768,7 +1768,7 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, > else > flags = 0x0; > > - if (clear || (bo && bo->tbo.resv == vm->root.base.bo->tbo.resv)) > + if (clear || !bo || bo->tbo.resv == vm->root.base.bo->tbo.resv) > last_update = &vm->last_update; > else > last_update = &bo_va->last_pt_update;