mm/damon/stat: use damon_initialized()

DAMON_STAT 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-3-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
SeongJae Park 2025-09-15 20:35:06 -07:00 committed by Andrew Morton
parent ab152db3ca
commit b663f17b73

View File

@ -214,8 +214,6 @@ static void damon_stat_stop(void)
damon_destroy_ctx(damon_stat_context);
}
static bool damon_stat_init_called;
static int damon_stat_enabled_store(
const char *val, const struct kernel_param *kp)
{
@ -229,7 +227,7 @@ static int damon_stat_enabled_store(
if (is_enabled == enabled)
return 0;
if (!damon_stat_init_called)
if (!damon_initialized())
/*
* probably called from command line parsing (parse_args()).
* Cannot call damon_new_ctx(). Let damon_stat_init() handle.
@ -250,12 +248,16 @@ static int __init damon_stat_init(void)
{
int err = 0;
damon_stat_init_called = true;
if (!damon_initialized()) {
err = -ENOMEM;
goto out;
}
/* probably set via command line */
if (enabled)
err = damon_stat_start();
out:
if (err && enabled)
enabled = false;
return err;