On Tue, Feb 04, 2025 at 08:59:08AM +0100, Christian König wrote: > Am 26.01.25 um 10:32 schrieb Zhaoyu Liu: > > TTM always uses pin_count and ttm_resource_is_swapped() together to > > determine whether a BO is unevictable. > > Now use ttm_resource_unevictable() to replace them. > > > > Signed-off-by: Zhaoyu Liu <liuzhaoyu.zackary@xxxxxxxxxxxxx> > > Reviewed-by: Christian König <christian.koenig@xxxxxxx> > > I will pick this up for drm-misc-next. > Thanks, but I don't see it in drm-misc-next(https://cgit.freedesktop.org/drm/drm-misc/log), is it not merged yet? --- All The Best > > --- > > drivers/gpu/drm/ttm/ttm_resource.c | 15 ++++++++++----- > > 1 file changed, 10 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/gpu/drm/ttm/ttm_resource.c b/drivers/gpu/drm/ttm/ttm_resource.c > > index cc29bbf3eabb..a8f9f7ed6c6e 100644 > > --- a/drivers/gpu/drm/ttm/ttm_resource.c > > +++ b/drivers/gpu/drm/ttm/ttm_resource.c > > @@ -252,11 +252,16 @@ static bool ttm_resource_is_swapped(struct ttm_resource *res, struct ttm_buffer_ > > return ttm_tt_is_swapped(bo->ttm); > > } > > +static bool ttm_resource_unevictable(struct ttm_resource *res, struct ttm_buffer_object *bo) > > +{ > > + return bo->pin_count || ttm_resource_is_swapped(res, bo); > > +} > > + > > /* Add the resource to a bulk move if the BO is configured for it */ > > void ttm_resource_add_bulk_move(struct ttm_resource *res, > > struct ttm_buffer_object *bo) > > { > > - if (bo->bulk_move && !bo->pin_count && !ttm_resource_is_swapped(res, bo)) > > + if (bo->bulk_move && !ttm_resource_unevictable(res, bo)) > > ttm_lru_bulk_move_add(bo->bulk_move, res); > > } > > @@ -264,7 +269,7 @@ void ttm_resource_add_bulk_move(struct ttm_resource *res, > > void ttm_resource_del_bulk_move(struct ttm_resource *res, > > struct ttm_buffer_object *bo) > > { > > - if (bo->bulk_move && !bo->pin_count && !ttm_resource_is_swapped(res, bo)) > > + if (bo->bulk_move && !ttm_resource_unevictable(res, bo)) > > ttm_lru_bulk_move_del(bo->bulk_move, res); > > } > > @@ -276,10 +281,10 @@ void ttm_resource_move_to_lru_tail(struct ttm_resource *res) > > lockdep_assert_held(&bo->bdev->lru_lock); > > - if (bo->pin_count || ttm_resource_is_swapped(res, bo)) { > > + if (ttm_resource_unevictable(res, bo)) { > > list_move_tail(&res->lru.link, &bdev->unevictable); > > - } else if (bo->bulk_move) { > > + } else if (bo->bulk_move) { > > struct ttm_lru_bulk_move_pos *pos = > > ttm_lru_bulk_move_pos(bo->bulk_move, res); > > @@ -318,7 +323,7 @@ void ttm_resource_init(struct ttm_buffer_object *bo, > > man = ttm_manager_type(bo->bdev, place->mem_type); > > spin_lock(&bo->bdev->lru_lock); > > - if (bo->pin_count || ttm_resource_is_swapped(res, bo)) > > + if (ttm_resource_unevictable(res, bo)) > > list_add_tail(&res->lru.link, &bo->bdev->unevictable); > > else > > list_add_tail(&res->lru.link, &man->lru[bo->priority]); >