mm/damon/modules-common: implement a stats parameters generator macro
authorSeongJae Park <sj@kernel.org>
Tue, 13 Sep 2022 17:44:42 +0000 (17:44 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 3 Oct 2022 21:03:12 +0000 (14:03 -0700)
DAMON_RECLAIM and DAMON_LRU_SORT have module parameters for DAMOS
statistics that having same names.  This commit implements a macro for
generating such module parameters so that we can reuse later.

Link: https://lkml.kernel.org/r/20220913174449.50645-16-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/modules-common.h

index 4c2ce84..ed973e0 100644 (file)
        module_param_named(wmarks_high, wmarks.high, ulong, 0600);      \
        module_param_named(wmarks_mid, wmarks.mid, ulong, 0600);        \
        module_param_named(wmarks_low, wmarks.low, ulong, 0600);
+
+#define DEFINE_DAMON_MODULES_DAMOS_STATS_PARAMS(stat, try_name,                \
+               succ_name, qt_exceed_name)                              \
+       module_param_named(nr_##try_name, stat.nr_tried, ulong, 0400);  \
+       module_param_named(bytes_##try_name, stat.sz_tried, ulong,      \
+                       0400);                                          \
+       module_param_named(nr_##succ_name, stat.nr_applied, ulong,      \
+                       0400);                                          \
+       module_param_named(bytes_##succ_name, stat.sz_applied, ulong,   \
+                       0400);                                          \
+       module_param_named(qt_exceed_name, stat.qt_exceeds, ulong,      \
+                       0400);