mm/damon/core: handle damon_call_control as normal under kdmond deactivation
authorSeongJae Park <sj@kernel.org>
Sun, 29 Jun 2025 20:49:14 +0000 (13:49 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 10 Jul 2025 04:07:54 +0000 (21:07 -0700)
commitbb1b5929b4279b136816f95ce1e8f1fa689bf4a1
treeb4adddcdf96038b7b60d572c163f48bc0fb7000e
parentddd05742b45b083975a0855ef6ebbf88cf1f532a
mm/damon/core: handle damon_call_control as normal under kdmond deactivation

DAMON sysfs interface internally uses damon_call() to update DAMON
parameters as users requested, online.  However, DAMON core cancels any
damon_call() requests when it is deactivated by DAMOS watermarks.

As a result, users cannot change DAMON parameters online while DAMON is
deactivated.  Note that users can turn DAMON off and on with different
watermarks to work around.  Since deactivated DAMON is nearly same to
stopped DAMON, the work around should have no big problem.  Anyway, a bug
is a bug.

There is no real good reason to cancel the damon_call() request under
DAMOS deactivation.  Fix it by simply handling the request as normal,
rather than cancelling under the situation.

Link: https://lkml.kernel.org/r/20250629204914.54114-1-sj@kernel.org
Fixes: 42b7491af14c ("mm/damon/core: introduce damon_call()")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org> [6.14+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/core.c