]> git.baikalelectronics.ru Git - kernel.git/commitdiff
mm/damon/reclaim: deduplicate 'commit_inputs' handling
authorSeongJae Park <sj@kernel.org>
Mon, 6 Jun 2022 18:23:07 +0000 (18:23 +0000)
committerakpm <akpm@linux-foundation.org>
Mon, 4 Jul 2022 01:08:38 +0000 (18:08 -0700)
DAMON_RECLAIM's handling of 'commit_inputs' parameter is duplicated in
'after_aggregation()' and 'after_wmarks_check()' callbacks.  This commit
deduplicates the code for better maintenance.

Link: https://lkml.kernel.org/r/20220606182310.48781-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/reclaim.c

index 4b07c29effe97577146bec7c57ef6a6f36e706ee..c2ed962db23ffaece31bd542d2fd4dc1511b68f0 100644 (file)
@@ -403,10 +403,21 @@ module_param_cb(enabled, &enabled_param_ops, &enabled, 0600);
 MODULE_PARM_DESC(enabled,
        "Enable or disable DAMON_RECLAIM (default: disabled)");
 
+static int damon_reclaim_handle_commit_inputs(void)
+{
+       int err;
+
+       if (!commit_inputs)
+               return 0;
+
+       err = damon_reclaim_apply_parameters();
+       commit_inputs = false;
+       return err;
+}
+
 static int damon_reclaim_after_aggregation(struct damon_ctx *c)
 {
        struct damos *s;
-       int err = 0;
 
        /* update the stats parameter */
        damon_for_each_scheme(s, c) {
@@ -417,22 +428,12 @@ static int damon_reclaim_after_aggregation(struct damon_ctx *c)
                nr_quota_exceeds = s->stat.qt_exceeds;
        }
 
-       if (commit_inputs) {
-               err = damon_reclaim_apply_parameters();
-               commit_inputs = false;
-       }
-       return err;
+       return damon_reclaim_handle_commit_inputs();
 }
 
 static int damon_reclaim_after_wmarks_check(struct damon_ctx *c)
 {
-       int err = 0;
-
-       if (commit_inputs) {
-               err = damon_reclaim_apply_parameters();
-               commit_inputs = false;
-       }
-       return err;
+       return damon_reclaim_handle_commit_inputs();
 }
 
 static int __init damon_reclaim_init(void)