Here again a better commit message is needed. Just something like the following: This enables eviction of other per VM BOs during allocation and allows reaping of deleted per VM BOs during CS again. With that fixed the patch is Reviewed-by: Christian König <christian.koenig at amd.com>. Regards, Christian. Am 14.12.2017 um 09:12 schrieb Roger He: > Change-Id: I0c6571c2a64e6c5bdad80ccbcccb40eba1c20b4e > Signed-off-by: Roger He <Hongbo.He at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 6 +++++- > drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 7 ++++++- > 2 files changed, 11 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > index 44523a8..ace6152 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > @@ -343,7 +343,11 @@ static int amdgpu_cs_bo_validate(struct amdgpu_cs_parser *p, > struct amdgpu_bo *bo) > { > struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); > - struct ttm_operation_ctx ctx = { true, false }; > + struct ttm_operation_ctx ctx = { > + .interruptible = true, > + .no_wait_gpu = false, > + .resv = bo->tbo.resv > + }; > uint32_t domain; > int r; > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > index dc0a8be..86340cf 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > @@ -327,7 +327,12 @@ static int amdgpu_bo_do_create(struct amdgpu_device *adev, > uint64_t init_value, > struct amdgpu_bo **bo_ptr) > { > - struct ttm_operation_ctx ctx = { !kernel, false }; > + struct ttm_operation_ctx ctx = { > + .interruptible = !kernel, > + .no_wait_gpu = false, > + .allow_reserved_eviction = true, > + .resv = resv > + }; > struct amdgpu_bo *bo; > enum ttm_bo_type type; > unsigned long page_align;