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

Re: [v7 PATCH 04/12] mm: vmscan: remove memcg_shrinker_map_size

From: Vlastimil Babka <hidden>
Date: 2021-02-10 18:16:40
Also in: linux-mm, lkml

On 2/9/21 9:43 PM, Roman Gushchin wrote:
On Tue, Feb 09, 2021 at 09:46:38AM -0800, Yang Shi wrote:
quoted
Both memcg_shrinker_map_size and shrinker_nr_max is maintained, but actually the
map size can be calculated via shrinker_nr_max, so it seems unnecessary to keep both.
Remove memcg_shrinker_map_size since shrinker_nr_max is also used by iterating the
bit map.

Acked-by: Kirill Tkhai <redacted>
Signed-off-by: Yang Shi <redacted>
Acked-by: Vlastimil Babka <redacted>
quoted
---
 mm/vmscan.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/mm/vmscan.c b/mm/vmscan.c
index e4ddaaaeffe2..641077b09e5d 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -185,8 +185,10 @@ static LIST_HEAD(shrinker_list);
 static DECLARE_RWSEM(shrinker_rwsem);
 
 #ifdef CONFIG_MEMCG
+static int shrinker_nr_max;
 
-static int memcg_shrinker_map_size;
+#define NR_MAX_TO_SHR_MAP_SIZE(nr_max) \
+	(DIV_ROUND_UP(nr_max, BITS_PER_LONG) * sizeof(unsigned long))
How about something like this?

static inline int shrinker_map_size(int nr_items)
{
	return DIV_ROUND_UP(nr_items, BITS_PER_LONG) * sizeof(unsigned long);
}

I think it look less cryptic.
Yeah that looks nicer so I'm fine with that potential change.
The rest of the patch looks good to me.

Thanks!
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help