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

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

From: Yang Shi <hidden>
Date: 2021-02-10 00:00:58
Also in: linux-mm, lkml

On Tue, Feb 9, 2021 at 12:43 PM Roman Gushchin [off-list ref] 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>
---
 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.
OK, I don't have a strong opinion for either one (inline function or
macro). If no one objects this I could do it in the new version.
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