On Fri, 2026-07-03 at 18:31 +0200, Natalie Vock wrote: > From: Christian König <[email protected]> > > Previously we always grabbed the BO reference after taking the lock, > but > that isn't necessary any more. > > So avoid doing that and cleanup the handling here. > > Signed-off-by: Christian König <[email protected]> > Signed-off-by: Natalie Vock <[email protected]>
Reviewed-by: Thomas Hellström <[email protected]> > --- > drivers/gpu/drm/ttm/ttm_bo_util.c | 15 +++++++++------ > 1 file changed, 9 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c > b/drivers/gpu/drm/ttm/ttm_bo_util.c > index 29f068944a972..a53b25e8c2967 100644 > --- a/drivers/gpu/drm/ttm/ttm_bo_util.c > +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c > @@ -1010,14 +1010,17 @@ __ttm_bo_lru_cursor_next(struct > ttm_bo_lru_cursor *curs) > break; > > bo = res->bo; > - if (ttm_lru_walk_trylock(curs, bo)) > - bo_locked = true; > - else if (!arg->ticket || arg->ctx->no_wait_gpu || > arg->trylock_only) > + if (!ttm_bo_get_unless_zero(bo)) > continue; > > - if (!ttm_bo_get_unless_zero(bo)) { > - if (curs->needs_unlock) > - dma_resv_unlock(bo->base.resv); > + if (ttm_lru_walk_trylock(curs, bo)) { > + bo_locked = true; > + > + } else if (!arg->ticket || arg->ctx->no_wait_gpu || > + arg->trylock_only) { > + spin_unlock(lru_lock); > + ttm_bo_put(bo); > + spin_lock(lru_lock); > continue; > } >
