mm/damon/sysfs-schemes: commit filters in {core,ops}_filters directories
authorSeongJae Park <sj@kernel.org>
Wed, 5 Mar 2025 22:27:28 +0000 (14:27 -0800)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 18 Mar 2025 05:06:48 +0000 (22:06 -0700)
Connect user inputs for files under core_filters and ops_filters with
DAMON, so that the files can really function.  Becasuse {core,ops}_filters
are easier to be managed in terms of expecting filters evaluation order,
add filters in {core,ops}_filters before 'filters' directory.

Link: https://lkml.kernel.org/r/20250305222733.59089-4-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/sysfs-schemes.c

index 30a7f28..65c6091 100644 (file)
@@ -2143,8 +2143,6 @@ static struct damos *damon_sysfs_mk_scheme(
        struct damon_sysfs_quotas *sysfs_quotas = sysfs_scheme->quotas;
        struct damon_sysfs_weights *sysfs_weights = sysfs_quotas->weights;
        struct damon_sysfs_watermarks *sysfs_wmarks = sysfs_scheme->watermarks;
-       struct damon_sysfs_scheme_filters *sysfs_filters =
-               sysfs_scheme->filters;
        struct damos *scheme;
        int err;
 
@@ -2184,7 +2182,17 @@ static struct damos *damon_sysfs_mk_scheme(
                return NULL;
        }
 
-       err = damon_sysfs_add_scheme_filters(scheme, sysfs_filters);
+       err = damon_sysfs_add_scheme_filters(scheme, sysfs_scheme->core_filters);
+       if (err) {
+               damon_destroy_scheme(scheme);
+               return NULL;
+       }
+       err = damon_sysfs_add_scheme_filters(scheme, sysfs_scheme->ops_filters);
+       if (err) {
+               damon_destroy_scheme(scheme);
+               return NULL;
+       }
+       err = damon_sysfs_add_scheme_filters(scheme, sysfs_scheme->filters);
        if (err) {
                damon_destroy_scheme(scheme);
                return NULL;