> -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf > Of Felix Kuehling > Sent: Friday, September 01, 2017 3:18 PM > To: Christian König; amd-gfx at lists.freedesktop.org > Cc: Russell, Kent > Subject: Re: [PATCH] drm/amdgpu: fix placement flags in amdgpu_ttm_bind > > Thanks for the fix. I still don't quite understand how this works. We > still call ttm_bo_move_ttm for a pinned BO. Maybe the function name is > misleading. As I understand it, this doesn't move the memory physically. > It just changes the GART address mapping? All that's needed is > maintaining the flags to ensure that the pinned BO stays off the LRU > lists and won't get swapped out? It's been a while since I traced through this, but as long as the flag is retained, it will be checked in ttm_bo_add_to_lru() and if set the bo won't be added to the LRU list. ttm_bo_move_ttm() is always called via amdgpu_ttm_bind() as part of the initial pinning process in amdgpu_bo_pin_restricted(). Alex > > Thanks, > Felix > > > On 2017-09-01 03:24 AM, Christian König wrote: > > From: Christian König <christian.koenig at amd.com> > > > > Otherwise we lose the NO_EVICT flag and can try to evict pinned BOs. > > > > Signed-off-by: Christian König <christian.koenig at amd.com> > > --- > > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > > index e9a0518..ac14c18 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > > @@ -819,7 +819,7 @@ int amdgpu_ttm_bind(struct ttm_buffer_object > *bo, struct ttm_mem_reg *bo_mem) > > placement.busy_placement = &placements; > > placements.fpfn = 0; > > placements.lpfn = adev->mc.gart_size >> PAGE_SHIFT; > > - placements.flags = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT; > > + placements.flags = bo->mem.placement | TTM_PL_FLAG_TT; > > > > r = ttm_bo_mem_space(bo, &placement, &tmp, true, false); > > if (unlikely(r)) > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx