aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorSeongJae Park <sj@kernel.org>2025-03-05 14:27:29 -0800
committerAndrew Morton <akpm@linux-foundation.org>2025-03-17 22:06:49 -0700
commitf7f0d88b7d6da29d2b073740aa130685f0e18609 (patch)
treeb57dc085f9f5b84920415969e868f773f9971fa4
parentmm/damon/sysfs-schemes: commit filters in {core,ops}_filters directories (diff)
downloadwireguard-linux-f7f0d88b7d6da29d2b073740aa130685f0e18609.tar.xz
wireguard-linux-f7f0d88b7d6da29d2b073740aa130685f0e18609.zip
mm/damon/core: expose damos_filter_for_ops() to DAMON kernel API callers
damos_filter_for_ops() can be useful to avoid putting wrong type of filters in wrong place. Make it be exposed to DAMON kernel API callers. Link: https://lkml.kernel.org/r/20250305222733.59089-5-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-rw-r--r--include/linux/damon.h1
-rw-r--r--mm/damon/core.c9
2 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/damon.h b/include/linux/damon.h
index 52559475dbe7..eed008b64a23 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -894,6 +894,7 @@ void damon_update_region_access_rate(struct damon_region *r, bool accessed,
struct damos_filter *damos_new_filter(enum damos_filter_type type,
bool matching, bool allow);
void damos_add_filter(struct damos *s, struct damos_filter *f);
+bool damos_filter_for_ops(enum damos_filter_type type);
void damos_destroy_filter(struct damos_filter *f);
struct damos_quota_goal *damos_new_quota_goal(
diff --git a/mm/damon/core.c b/mm/damon/core.c
index 511c464adcc5..ebbb22840435 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -281,7 +281,14 @@ struct damos_filter *damos_new_filter(enum damos_filter_type type,
return filter;
}
-static bool damos_filter_for_ops(enum damos_filter_type type)
+/**
+ * damos_filter_for_ops() - Return if the filter is ops-hndled one.
+ * @type: type of the filter.
+ *
+ * Return: true if the filter of @type needs to be handled by ops layer, false
+ * otherwise.
+ */
+bool damos_filter_for_ops(enum damos_filter_type type)
{
switch (type) {
case DAMOS_FILTER_TYPE_ADDR: