Re: [PATCH v3 09/15] drm/gem: Add LRU/shrinker helper

2022-08-01 Thread Dmitry Osipenko
On 8/1/22 23:42, Rob Clark wrote: > On Mon, Aug 1, 2022 at 1:26 PM Dmitry Osipenko > wrote: >> >> On 8/1/22 23:13, Dmitry Osipenko wrote: >>> On 8/1/22 23:11, Dmitry Osipenko wrote: On 8/1/22 23:00, Rob Clark wrote: > On Mon, Aug 1, 2022 at 12:41 PM Dmitry Osipenko > wrote: >>

Re: [PATCH v3 09/15] drm/gem: Add LRU/shrinker helper

2022-08-01 Thread Rob Clark
On Mon, Aug 1, 2022 at 1:26 PM Dmitry Osipenko wrote: > > On 8/1/22 23:13, Dmitry Osipenko wrote: > > On 8/1/22 23:11, Dmitry Osipenko wrote: > >> On 8/1/22 23:00, Rob Clark wrote: > >>> On Mon, Aug 1, 2022 at 12:41 PM Dmitry Osipenko > >>> wrote: > > On 7/26/22 20:50, Rob Clark wrote:

Re: [PATCH v3 09/15] drm/gem: Add LRU/shrinker helper

2022-08-01 Thread Dmitry Osipenko
On 8/1/22 23:13, Dmitry Osipenko wrote: > On 8/1/22 23:11, Dmitry Osipenko wrote: >> On 8/1/22 23:00, Rob Clark wrote: >>> On Mon, Aug 1, 2022 at 12:41 PM Dmitry Osipenko >>> wrote: On 7/26/22 20:50, Rob Clark wrote: > +/** > + * drm_gem_lru_remove - remove object from whatever

Re: [PATCH v3 09/15] drm/gem: Add LRU/shrinker helper

2022-08-01 Thread Dmitry Osipenko
On 8/1/22 23:11, Dmitry Osipenko wrote: > On 8/1/22 23:00, Rob Clark wrote: >> On Mon, Aug 1, 2022 at 12:41 PM Dmitry Osipenko >> wrote: >>> >>> On 7/26/22 20:50, Rob Clark wrote: +/** + * drm_gem_lru_remove - remove object from whatever LRU it is in + * + * If the object is

Re: [PATCH v3 09/15] drm/gem: Add LRU/shrinker helper

2022-08-01 Thread Dmitry Osipenko
On 8/1/22 23:00, Rob Clark wrote: > On Mon, Aug 1, 2022 at 12:41 PM Dmitry Osipenko > wrote: >> >> On 7/26/22 20:50, Rob Clark wrote: >>> +/** >>> + * drm_gem_lru_remove - remove object from whatever LRU it is in >>> + * >>> + * If the object is currently in any LRU, remove it. >>> + * >>> + *

Re: [PATCH v3 09/15] drm/gem: Add LRU/shrinker helper

2022-08-01 Thread Rob Clark
On Mon, Aug 1, 2022 at 12:41 PM Dmitry Osipenko wrote: > > On 7/26/22 20:50, Rob Clark wrote: > > +/** > > + * drm_gem_lru_remove - remove object from whatever LRU it is in > > + * > > + * If the object is currently in any LRU, remove it. > > + * > > + * @obj: The GEM object to remove from

Re: [PATCH v3 09/15] drm/gem: Add LRU/shrinker helper

2022-08-01 Thread Dmitry Osipenko
On 7/26/22 20:50, Rob Clark wrote: > +/** > + * drm_gem_lru_remove - remove object from whatever LRU it is in > + * > + * If the object is currently in any LRU, remove it. > + * > + * @obj: The GEM object to remove from current LRU > + */ > +void > +drm_gem_lru_remove(struct drm_gem_object *obj) >

Re: [PATCH v3 09/15] drm/gem: Add LRU/shrinker helper

2022-07-29 Thread Dmitry Osipenko
On 7/29/22 18:40, Rob Clark wrote: > On Fri, Jul 29, 2022 at 8:27 AM Dmitry Osipenko > wrote: >> >> 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

Re: [PATCH v3 09/15] drm/gem: Add LRU/shrinker helper

2022-07-29 Thread Rob Clark
On Fri, Jul 29, 2022 at 8:27 AM Dmitry Osipenko wrote: > > 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

Re: [PATCH v3 09/15] drm/gem: Add LRU/shrinker helper

2022-07-29 Thread 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

[PATCH v3 09/15] drm/gem: Add LRU/shrinker helper

2022-07-26 Thread Rob Clark
From: Rob Clark Add a simple LRU helper to assist with driver's shrinker implementation. It handles tracking the number of backing pages associated with a given LRU, and provides a helper to implement shrinker_scan. A driver can use multiple LRU instances to track objects in various states, for