mm/damon/paddr: support damos_filter->allow
authorSeongJae Park <sj@kernel.org>
Thu, 9 Jan 2025 17:51:20 +0000 (09:51 -0800)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 26 Jan 2025 04:22:32 +0000 (20:22 -0800)
Respect damos_filter->allow from 'paddr', which is a DAMON operations set
implementation for the physical address space and supports a few types of
region-internal DAMOS filters (anon, memcg and young).  The change is
similar to that of the previous commit for core layer update.

Link: https://lkml.kernel.org/r/20250109175126.57878-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>
mm/damon/paddr.c

index b0c283808ba604092e2668b21b27c712e4cc4316..817acfd4f8a2d37749ea78c1b516143c85725cf1 100644 (file)
@@ -198,7 +198,7 @@ static unsigned int damon_pa_check_accesses(struct damon_ctx *ctx)
        return max_nr_accesses;
 }
 
-static bool __damos_pa_filter_out(struct damos_filter *filter,
+static bool damos_pa_filter_match(struct damos_filter *filter,
                struct folio *folio)
 {
        bool matched = false;
@@ -237,8 +237,8 @@ static bool damos_pa_filter_out(struct damos *scheme, struct folio *folio)
        struct damos_filter *filter;
 
        damos_for_each_filter(filter, scheme) {
-               if (__damos_pa_filter_out(filter, folio))
-                       return true;
+               if (damos_pa_filter_match(filter, folio))
+                       return !filter->allow;
        }
        return false;
 }