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

刘照玉 liuzhaoyu.zackary at bytedance.com
Tue Feb 4 02:25:30 UTC 2025


> From: "Zhaoyu Liu"<liuzhaoyu.zackary at bytedance.com> > Date:  Sun, Jan 26,
2025, 17:33 > Subject:  [PATCH] drm/ttm: use ttm_resource_unevictable() to
replace pin_count and swapped > To: <christian.koenig at amd.com>, <
ray.huang at amd.com>, <maarten.lankhorst at linux.intel.com>, <mripard at kernel.org>,
<tzimmermann at suse.de>, <airlied at gmail.com>, <simona at ffwll.ch> > Cc: <
dri-devel at lists.freedesktop.org>, <linux-kernel at vger.kernel.org> > 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 at bytedance.com> > --- >
 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20250203/9387f29a/attachment-0001.htm>


More information about the dri-devel mailing list