Re: [PATCH] drm/ttm: use ttm_resource_unevictable() to replace pin_count and swapped

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: "Zhaoyu Liu"<liuzhaoyu.zackary@xxxxxxxxxxxxx> > Date:  Sun, Jan 26, 2025, 17:33 > Subject:  [PATCH] drm/ttm: use ttm_resource_unevictable() to replace pin_count and swapped > To: <christian.koenig@xxxxxxx>, <ray.huang@xxxxxxx>, <maarten.lankhorst@xxxxxxxxxxxxxxx>, <mripard@xxxxxxxxxx>, <tzimmermann@xxxxxxx>, <airlied@xxxxxxxxx>, <simona@xxxxxxxx> > Cc: <dri-devel@xxxxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx> > 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> > --- >  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]); > --  > 2.25.1 >  Hi,   Could you help me to review it, thx.

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux