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

2021-03-31 Thread Rob Clark
On Wed, Mar 31, 2021 at 4:39 PM Doug Anderson wrote: > > Hi, > > On Wed, Mar 31, 2021 at 4:23 PM Rob Clark wrote: > > > > On Wed, Mar 31, 2021 at 3:44 PM Doug Anderson wrote: > > > > > > Hi, > > > > > > On Wed, Mar 31, 2021 at 3:14 PM Rob Clark wrote: > > > > > > > > @@ -818,11 +820,19 @@

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

2021-03-31 Thread Doug Anderson
Hi, On Wed, Mar 31, 2021 at 4:23 PM Rob Clark wrote: > > On Wed, Mar 31, 2021 at 3:44 PM Doug Anderson wrote: > > > > Hi, > > > > On Wed, Mar 31, 2021 at 3:14 PM Rob Clark wrote: > > > > > > @@ -818,11 +820,19 @@ static void update_inactive(struct msm_gem_object > > > *msm_obj) > > >

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

2021-03-31 Thread Rob Clark
On Wed, Mar 31, 2021 at 3:44 PM Doug Anderson wrote: > > Hi, > > On Wed, Mar 31, 2021 at 3:14 PM Rob Clark wrote: > > > > @@ -818,11 +820,19 @@ static void update_inactive(struct msm_gem_object > > *msm_obj) > > mutex_lock(>mm_lock); > > WARN_ON(msm_obj->active_count != 0); > >

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

2021-03-31 Thread Doug Anderson
Hi, On Wed, Mar 31, 2021 at 3:14 PM Rob Clark wrote: > > @@ -818,11 +820,19 @@ static void update_inactive(struct msm_gem_object > *msm_obj) > mutex_lock(>mm_lock); > WARN_ON(msm_obj->active_count != 0); > > + if (msm_obj->dontneed) > +

[PATCH 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