]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mm/damon/reclaim: use damon_initialized()
authorSeongJae Park <sj@kernel.org>
Tue, 16 Sep 2025 03:35:07 +0000 (20:35 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 21 Sep 2025 21:22:38 +0000 (14:22 -0700)
DAMON_RECLAIM is assuming DAMON is ready to use in module_init time, and
uses its own hack to see if it is the time.  Use damon_initialized(),
which is a way for seeing if DAMON is ready to be used that is more
reliable and better to maintain instead of the hack.

Link: https://lkml.kernel.org/r/20250916033511.116366-4-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/reclaim.c

index 590f9d6c55ef2314a9330ae493a9a23f1a90d63b..7ba3d0f9a19ace8bfd960d8f7c6ad30d52fb9da9 100644 (file)
@@ -349,7 +349,7 @@ static int damon_reclaim_enabled_store(const char *val,
                return 0;
 
        /* Called before init function.  The function will handle this. */
-       if (!ctx)
+       if (!damon_initialized())
                goto set_param_out;
 
        err = damon_reclaim_turn(enable);
@@ -372,8 +372,13 @@ MODULE_PARM_DESC(enabled,
 
 static int __init damon_reclaim_init(void)
 {
-       int err = damon_modules_new_paddr_ctx_target(&ctx, &target);
+       int err;
 
+       if (!damon_initialized()) {
+               err = -ENOMEM;
+               goto out;
+       }
+       err = damon_modules_new_paddr_ctx_target(&ctx, &target);
        if (err)
                goto out;