[Devel] [PATCH VZ10 2/8] mm: export for_each_gen_type_zone() macros
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Tue Sep 2 13:59:12 MSK 2025
We need it to walk over lru lists for Multi-Gen LRU case for our
memory.numa_migrate feature.
https://virtuozzo.atlassian.net/browse/VSTOR-114298
Fixes: c92459bc18307 ("mm: memcontrol: add memory.numa_migrate file")
Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
---
include/linux/mmzone.h | 5 +++++
mm/vmscan.c | 5 -----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index ffbe13f6f285e..8b0cb56cf251e 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -507,6 +507,11 @@ struct lru_gen_mm_walk {
RH_KABI_RESERVE(2)
};
+#define for_each_gen_type_zone(gen, type, zone) \
+ for ((gen) = 0; (gen) < MAX_NR_GENS; (gen)++) \
+ for ((type) = 0; (type) < ANON_AND_FILE; (type)++) \
+ for ((zone) = 0; (zone) < MAX_NR_ZONES; (zone)++)
+
/*
* For each node, memcgs are divided into two generations: the old and the
* young. For each generation, memcgs are randomly sharded into multiple bins
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 1769f08bde8df..94004428c0937 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2621,11 +2621,6 @@ static bool should_clear_pmd_young(void)
READ_ONCE((lruvec)->lrugen.min_seq[LRU_GEN_FILE]), \
}
-#define for_each_gen_type_zone(gen, type, zone) \
- for ((gen) = 0; (gen) < MAX_NR_GENS; (gen)++) \
- for ((type) = 0; (type) < ANON_AND_FILE; (type)++) \
- for ((zone) = 0; (zone) < MAX_NR_ZONES; (zone)++)
-
#define get_memcg_gen(seq) ((seq) % MEMCG_NR_GENS)
#define get_memcg_bin(bin) ((bin) % MEMCG_NR_BINS)
--
2.50.1
More information about the Devel
mailing list