From: SJ Park <sj@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: SJ Park <sj@kernel.org>,
damon@lists.linux.dev, linux-kernel@vger.kernel.org,
linux-mm@kvack.org
Subject: [PATCH 05/10] mm/damon/core: document damon_call()/damon_start() race hang issue
Date: Thu, 17 Sep 2026 07:22:03 -0700 [thread overview]
Message-ID: <20260917142210.90829-6-sj@kernel.org> (raw)
In-Reply-To: <20260917142210.90829-1-sj@kernel.org>
Let's suppose damon_start() and damon_call() are executed in parallel
for the same DAMON context. Then, damon_call() could show
ctx->damon_calls_obsolete set while ctx->kdamond is unset. If
damon_start() sets ctx->kdamond before damon_call() starts the
cancelling, damon_call() can indefinitely hang. No DAMON API caller
does such parallel execution of damon_start() and damon_call(), so the
issue doesn't exist. But who knows what will happen in future. Add a
clarification comment for caution.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index c63b09d4a2d0d..2258b72da7a78 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -2258,6 +2258,9 @@ int damon_kdamond_pid(struct damon_ctx *ctx)
*
* When this function is failed, the @ctx is guaranteed to be stopped.
*
+ * This function should not be called in parallel to damon_start() for the
+ * @ctx. In the case, this function could indefinitely hang.
+ *
* Return: 0 on success, negative error code otherwise.
*/
int damon_call(struct damon_ctx *ctx, struct damon_call_control *control)
--
2.47.3
next prev parent reply other threads:[~2026-09-17 14:22 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-17 14:21 [PATCH 00/10] mm/damon: improve readability, clarity and test coverage SJ Park
2026-09-17 14:21 ` [PATCH 01/10] mm/damon/api: remove NR_DAMOS_FILTER_TYPES SJ Park
2026-09-17 14:25 ` sashiko-bot
2026-09-17 14:43 ` Gutierrez Asier
2026-09-19 13:02 ` Zenghui Yu
2026-09-19 15:57 ` SJ Park
2026-09-20 1:23 ` Zenghui Yu
2026-09-17 14:22 ` [PATCH 02/10] mm/damon/core: use abs_diff() in damon_feed_loop_next_input() SJ Park
2026-09-17 14:25 ` sashiko-bot
2026-09-17 14:43 ` Gutierrez Asier
2026-09-17 14:22 ` [PATCH 03/10] mm/damon/core: use mult_frac() " SJ Park
2026-09-17 14:25 ` sashiko-bot
2026-09-17 14:44 ` Gutierrez Asier
2026-09-17 14:22 ` [PATCH 04/10] mm/damon/core: set damon_ctx->walk_control_obsolete in damon_new_ctx() SJ Park
2026-09-17 14:29 ` sashiko-bot
2026-09-17 14:22 ` SJ Park [this message]
2026-09-17 14:26 ` [PATCH 05/10] mm/damon/core: document damon_call()/damon_start() race hang issue sashiko-bot
2026-09-17 14:22 ` [PATCH 06/10] mm/damon/paddr: remove pa parameter from damon_pa_filter_pass() SJ Park
2026-09-17 14:24 ` sashiko-bot
2026-09-17 14:22 ` [PATCH 07/10] mm/damon/tests/core-kunit: test eligible_mem_bp commitment SJ Park
2026-09-17 14:26 ` sashiko-bot
2026-09-17 14:22 ` [PATCH 08/10] mm/damon/tests/core-kunit: add probe_hits_wsum damos filter commit test SJ Park
2026-09-17 14:26 ` sashiko-bot
2026-09-17 14:22 ` [PATCH 09/10] selftests/damon/sysfs_memcg_path_leak: fail only for real DAMON leak SJ Park
2026-09-17 14:31 ` sashiko-bot
2026-09-17 14:36 ` SJ Park
2026-09-17 14:22 ` [PATCH 10/10] Docs/mm/damon/design: clarify bp is basis point SJ Park
2026-09-17 14:26 ` sashiko-bot
2026-09-19 12:39 ` Zenghui Yu
2026-09-17 14:37 ` [PATCH 00/10] mm/damon: improve readability, clarity and test coverage SJ Park
2026-09-17 21:57 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260917142210.90829-6-sj@kernel.org \
--to=sj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=damon@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.