Thread (54 messages) 54 messages, 6 authors, 2021-02-12

Re: [v7 PATCH 09/12] mm: vmscan: use per memcg nr_deferred of shrinker

From: Yang Shi <hidden>
Date: 2021-02-10 16:45:07
Also in: linux-mm, lkml

On Wed, Feb 10, 2021 at 6:37 AM Kirill Tkhai [off-list ref] wrote:
On 10.02.2021 04:52, Yang Shi wrote:
quoted
On Tue, Feb 9, 2021 at 5:27 PM Roman Gushchin [off-list ref] wrote:
quoted
On Tue, Feb 09, 2021 at 09:46:43AM -0800, Yang Shi wrote:
quoted
Use per memcg's nr_deferred for memcg aware shrinkers.  The shrinker's nr_deferred
will be used in the following cases:
    1. Non memcg aware shrinkers
    2. !CONFIG_MEMCG
    3. memcg is disabled by boot parameter

Signed-off-by: Yang Shi <redacted>
---
 mm/vmscan.c | 78 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 66 insertions(+), 12 deletions(-)
diff --git a/mm/vmscan.c b/mm/vmscan.c
index d4b030a0b2a9..748aa6e90f83 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -368,6 +368,24 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker)
      up_write(&shrinker_rwsem);
 }

+static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker,
+                                 struct mem_cgroup *memcg)
"Count" is not associated with xchg() semantics in my head, but I don't know
what's the better version. Maybe steal or pop?
It is used to retrieve the nr_deferred value. I don't think "steal" or
"pop" helps understand. Actually "count" is borrowed from
count_objects() method of shrinker.
I'd also voted for another name.

xchg_nr_deferred() or steal/pop sound better for me.
OK, I do have a hard time to understand steal/pop, but xchg sounds
more self-explained to me.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help