mm/damon/modules-common: implement a damos quota params generator
authorSeongJae Park <sj@kernel.org>
Tue, 13 Sep 2022 17:44:45 +0000 (17:44 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 3 Oct 2022 21:03:13 +0000 (14:03 -0700)
DAMON_RECLAIM and DAMON_LRU_SORT have module parameters for DAMOS quotas
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-19-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 ed973e0..3e99810 100644 (file)
        module_param_named(max_nr_regions, attrs.max_nr_regions, ulong, \
                        0600);
 
+#define DEFINE_DAMON_MODULES_DAMOS_QUOTAS(quota)                       \
+       module_param_named(quota_ms, quota.ms, ulong, 0600);            \
+       module_param_named(quota_sz, quota.sz, ulong, 0600);            \
+       module_param_named(quota_reset_interval_ms,                     \
+                       quota.reset_interval, ulong, 0600);
+
 #define DEFINE_DAMON_MODULES_WMARKS_PARAMS(wmarks)                     \
        module_param_named(wmarks_interval, wmarks.interval, ulong,     \
                        0600);                                          \
@@ -33,5 +39,5 @@
                        0400);                                          \
        module_param_named(bytes_##succ_name, stat.sz_applied, ulong,   \
                        0400);                                          \
-       module_param_named(qt_exceed_name, stat.qt_exceeds, ulong,      \
+       module_param_named(nr_##qt_exceed_name, stat.qt_exceeds, ulong, \
                        0400);