From: SeongJae Park Date: Tue, 16 Sep 2025 03:35:06 +0000 (-0700) Subject: mm/damon/stat: use damon_initialized() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b663f17b738f4a9a9f599dff1bed8e4db519e6f8;p=users%2Fhch%2Fmisc.git 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 Signed-off-by: Andrew Morton --- diff --git a/mm/damon/stat.c b/mm/damon/stat.c index 87bcd8866d4b..c4fbd8cfa5eb 100644 --- a/mm/damon/stat.c +++ b/mm/damon/stat.c @@ -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;