[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