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

Link: https://lkml.kernel.org/r/20220913174449.50645-10-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 [new file with mode: 0644]

diff --git a/mm/damon/modules-common.h b/mm/damon/modules-common.h
new file mode 100644 (file)
index 0000000..0abd063
--- /dev/null
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Common Primitives for DAMON Modules
+ *
+ * Author: SeongJae Park <sj@kernel.org>
+ */
+
+#include <linux/moduleparam.h>
+
+#define DEFINE_DAMON_MODULES_MON_ATTRS_PARAMS(attrs)                   \
+       module_param_named(sample_interval, attrs.sample_interval,      \
+                       ulong, 0600);                                   \
+       module_param_named(aggr_interval, attrs.aggr_interval, ulong,   \
+                       0600);                                          \
+       module_param_named(min_nr_regions, attrs.min_nr_regions, ulong, \
+                       0600);                                          \
+       module_param_named(max_nr_regions, attrs.max_nr_regions, ulong, \
+                       0600);