Re: [Freedreno] [PATCH v2 2/4] drm/msm: Avoid mutex in shrinker_count()

2021-04-01 Thread Rob Clark
On Thu, Apr 1, 2021 at 8:34 AM Doug Anderson wrote: > > Hi, > > On Wed, Mar 31, 2021 at 6:24 PM Rob Clark wrote: > > > > @@ -45,6 +30,9 @@ msm_gem_shrinker_scan(struct shrinker *shrinker, struct > > shrink_control *sc) > > list_for_each_entry(msm_obj, &priv->inactive_dontneed, mm_list) {

Re: [Freedreno] [PATCH v2 2/4] drm/msm: Avoid mutex in shrinker_count()

2021-04-01 Thread Doug Anderson
Hi, On Wed, Mar 31, 2021 at 6:24 PM Rob Clark wrote: > > @@ -45,6 +30,9 @@ msm_gem_shrinker_scan(struct shrinker *shrinker, struct > shrink_control *sc) > list_for_each_entry(msm_obj, &priv->inactive_dontneed, mm_list) { > if (freed >= sc->nr_to_scan) >

[Freedreno] [PATCH v2 2/4] drm/msm: Avoid mutex in shrinker_count()

2021-03-31 Thread Rob Clark
From: Rob Clark When the system is under heavy memory pressure, we can end up with lots of concurrent calls into the shrinker. Keeping a running tab on what we can shrink avoids grabbing a lock in shrinker->count(), and avoids shrinker->scan() getting called when not profitable. Also, we can ke