Messages in this thread | | | Date | Fri, 29 Jul 2022 18:27:19 +0300 | Subject | Re: [PATCH v3 09/15] drm/gem: Add LRU/shrinker helper | From | Dmitry Osipenko <> |
| |
On 7/26/22 20:50, Rob Clark wrote: > +/** > + * drm_gem_lru_move_tail_locked - move the object to the tail of the LRU > + * > + * If the object is already in this LRU it will be moved to the > + * tail. Otherwise it will be removed from whichever other LRU > + * it is in (if any) and moved into this LRU. > + * > + * Call with LRU lock held. > + * > + * @lru: The LRU to move the object into. > + * @obj: The GEM object to move into this LRU > + */ > +void > +drm_gem_lru_move_tail_locked(struct drm_gem_lru *lru, struct drm_gem_object *obj) > +{ > + lockdep_assert_held_once(lru->lock); > + > + if (obj->lru) > + lru_remove(obj);
The obj->lru also needs to be locked if lru != obj->lru, isn't it? And then we should add lockdep_assert_held_once(obj->lru->lock).
-- Best regards, Dmitry
| |