Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-30 Thread Dmitry Osipenko
On 1/30/24 11:39, Daniel Vetter wrote: > On Thu, Jan 25, 2024 at 10:07:03AM +0100, Boris Brezillon wrote: >> On Fri, 5 Jan 2024 21:46:16 +0300 >> Dmitry Osipenko wrote: >> >>> * >>> * This function Increases the use count and allocates the backing pages if >>> * use-count equals to zero.

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-30 Thread Daniel Vetter
On Thu, Jan 25, 2024 at 10:07:03AM +0100, Boris Brezillon wrote: > On Fri, 5 Jan 2024 21:46:16 +0300 > Dmitry Osipenko wrote: > > > * > > * This function Increases the use count and allocates the backing pages if > > * use-count equals to zero. > > + * > > + * Note that this function

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-29 Thread Dmitry Osipenko
On 1/29/24 12:01, Boris Brezillon wrote: > On Fri, 5 Jan 2024 21:46:16 +0300 > Dmitry Osipenko wrote: > >> +/** >> + * drm_gem_shmem_swapin_locked() - Moves shmem GEM back to memory and >> enables >> + * hardware access to the memory. >> + * @shmem: shmem GEM

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-29 Thread Boris Brezillon
On Mon, 29 Jan 2024 09:55:11 +0100 Boris Brezillon wrote: > On Mon, 29 Jan 2024 09:16:04 +0300 > Dmitry Osipenko wrote: > > > On 1/26/24 21:12, Boris Brezillon wrote: > > > On Fri, 26 Jan 2024 19:27:49 +0300 > > > Dmitry Osipenko wrote: > > > > > >> On 1/26/24 12:55, Boris Brezillon

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-29 Thread Boris Brezillon
On Fri, 5 Jan 2024 21:46:16 +0300 Dmitry Osipenko wrote: > +/** > + * drm_gem_shmem_swapin_locked() - Moves shmem GEM back to memory and enables > + * hardware access to the memory. > + * @shmem: shmem GEM object > + * > + * This function moves shmem GEM back to

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-29 Thread Boris Brezillon
On Mon, 29 Jan 2024 09:16:04 +0300 Dmitry Osipenko wrote: > On 1/26/24 21:12, Boris Brezillon wrote: > > On Fri, 26 Jan 2024 19:27:49 +0300 > > Dmitry Osipenko wrote: > > > >> On 1/26/24 12:55, Boris Brezillon wrote: > >>> On Fri, 26 Jan 2024 00:56:47 +0300 > >>> Dmitry Osipenko wrote: >

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-28 Thread Dmitry Osipenko
On 1/26/24 21:12, Boris Brezillon wrote: > On Fri, 26 Jan 2024 19:27:49 +0300 > Dmitry Osipenko wrote: > >> On 1/26/24 12:55, Boris Brezillon wrote: >>> On Fri, 26 Jan 2024 00:56:47 +0300 >>> Dmitry Osipenko wrote: >>> On 1/25/24 13:19, Boris Brezillon wrote: > On Fri, 5 Jan 2024

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-26 Thread Boris Brezillon
On Fri, 26 Jan 2024 19:27:49 +0300 Dmitry Osipenko wrote: > On 1/26/24 12:55, Boris Brezillon wrote: > > On Fri, 26 Jan 2024 00:56:47 +0300 > > Dmitry Osipenko wrote: > > > >> On 1/25/24 13:19, Boris Brezillon wrote: > >>> On Fri, 5 Jan 2024 21:46:16 +0300 > >>> Dmitry Osipenko wrote: >

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-26 Thread Dmitry Osipenko
On 1/26/24 12:55, Boris Brezillon wrote: > On Fri, 26 Jan 2024 00:56:47 +0300 > Dmitry Osipenko wrote: > >> On 1/25/24 13:19, Boris Brezillon wrote: >>> On Fri, 5 Jan 2024 21:46:16 +0300 >>> Dmitry Osipenko wrote: >>> +static bool drm_gem_shmem_is_evictable(struct drm_gem_shmem_object

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-26 Thread Boris Brezillon
On Fri, 26 Jan 2024 00:56:47 +0300 Dmitry Osipenko wrote: > On 1/25/24 13:19, Boris Brezillon wrote: > > On Fri, 5 Jan 2024 21:46:16 +0300 > > Dmitry Osipenko wrote: > > > >> +static bool drm_gem_shmem_is_evictable(struct drm_gem_shmem_object *shmem) > >> +{ > >> + return (shmem->madv >=

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-25 Thread Dmitry Osipenko
On 1/25/24 13:19, Boris Brezillon wrote: > On Fri, 5 Jan 2024 21:46:16 +0300 > Dmitry Osipenko wrote: > >> +static bool drm_gem_shmem_is_evictable(struct drm_gem_shmem_object *shmem) >> +{ >> +return (shmem->madv >= 0) && shmem->base.funcs->evict && >> +

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-25 Thread Boris Brezillon
On Fri, 5 Jan 2024 21:46:16 +0300 Dmitry Osipenko wrote: > +static bool drm_gem_shmem_is_evictable(struct drm_gem_shmem_object *shmem) > +{ > + return (shmem->madv >= 0) && shmem->base.funcs->evict && > + refcount_read(>pages_use_count) && > +

Re: [PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-25 Thread Boris Brezillon
On Fri, 5 Jan 2024 21:46:16 +0300 Dmitry Osipenko wrote: > * > * This function Increases the use count and allocates the backing pages if > * use-count equals to zero. > + * > + * Note that this function doesn't pin pages in memory. If your driver > + * uses drm-shmem shrinker, then it's

[PATCH v19 22/30] drm/shmem-helper: Add common memory shrinker

2024-01-05 Thread Dmitry Osipenko
Introduce common drm-shmem shrinker for DRM drivers. To start using drm-shmem shrinker drivers should do the following: 1. Implement evict() callback of GEM object where driver should check whether object is purgeable or evictable using drm-shmem helpers and perform the shrinking action