| From: SeongJae Park <sj@kernel.org> |
| Subject: mm/damon/reclaim: deduplicate 'commit_inputs' handling |
| Date: Mon, 6 Jun 2022 18:23:07 +0000 |
| |
| 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 | 27 ++++++++++++++------------- |
| 1 file changed, 14 insertions(+), 13 deletions(-) |
| |
| --- a/mm/damon/reclaim.c~mm-damon-reclaim-deduplicate-commit_inputs-handling |
| +++ a/mm/damon/reclaim.c |
| @@ -403,10 +403,21 @@ module_param_cb(enabled, &enabled_param_ |
| 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_aggregati |
| 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) |
| _ |