From: SeongJae Park <sj@kernel.org>
To: SeongJae Park <sj@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Quanmin Yan <yanquanmin1@huawei.com>,
damon@lists.linux.dev, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, wangkefeng.wang@huawei.com,
zuoze1@huawei.com, Chris Mason <clm@fb.com>
Subject: Re: [PATCH v3 11/11] mm/damon: add damon_ctx->min_sz_region
Date: Wed, 17 Sep 2025 09:00:41 -0700 [thread overview]
Message-ID: <20250917160041.53187-1-sj@kernel.org> (raw)
In-Reply-To: <20250828171242.59810-12-sj@kernel.org>
On Thu, 28 Aug 2025 10:12:42 -0700 SeongJae Park <sj@kernel.org> wrote:
> From: Quanmin Yan <yanquanmin1@huawei.com>
>
> Adopting addr_unit would make DAMON_MINREGION 'addr_unit * 4096'
> bytes and cause data alignment issues[1].
>
> Add damon_ctx->min_sz_region to change DAMON_MIN_REGION from a global
> macro value to per-context variable.
>
> [1] https://lore.kernel.org/all/527714dd-0e33-43ab-bbbd-d89670ba79e7@huawei.com
I think I found an issue of this patch. Please refer to the attaching patch
for details.
This patch is in the mm tree and not yet merged into the mainline. Andrew,
could you please add the attached patch as a fixup of this one?
Thanks,
SJ
==== Attachment 0 (0001-mm-damon-sysfs-set-damon_ctx-min_sz_region-only-for-.patch) ====
From af4a31405f4d8c4e5b32f7244f0cdcf960dce30f Mon Sep 17 00:00:00 2001
From: SeongJae Park <sj@kernel.org>
Date: Wed, 17 Sep 2025 08:31:54 -0700
Subject: [PATCH] mm/damon/sysfs: set damon_ctx->min_sz_region only for paddr
use case
damon_ctx->addr_unit is respected only for physical address space
monitoring use case. Meanwhile, damon_ctx->min_sz_region is used by the
core layer for aligning regions, regardless of whether it is set for
physical address space monitoring or virtual address spaces monitoring.
And it is set as 'DAMON_MIN_REGION / damon_ctx->addr_unit'. Hence, if
user sets ->addr_unit on virtual address spaces monitoring mode, regions
can be unexpectedly aligned in <PAGE_SIZE granularity. It shouldn't
cause crash-like issues but make monitoring and DAMOS behavior difficult
to understand.
Fix the unexpected behavior by setting ->min_sz_region only when it is
configured for physical address space monitoring.
The issue was found from a result of Chris' experiments that thankfully
shared with me off-list.
Cc: Chris Mason <clm@fb.com>
Signed-off-by: SeongJae Park <sj@kernel.org>
---
mm/damon/sysfs.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c
index fe4e73d0ebbb..883b0d886d68 100644
--- a/mm/damon/sysfs.c
+++ b/mm/damon/sysfs.c
@@ -1435,7 +1435,10 @@ static int damon_sysfs_apply_inputs(struct damon_ctx *ctx,
if (err)
return err;
ctx->addr_unit = sys_ctx->addr_unit;
- ctx->min_sz_region = max(DAMON_MIN_REGION / sys_ctx->addr_unit, 1);
+ /* addr_unit is respected by only DAMON_OPS_PADDR */
+ if (sys_ctx->ops_id == DAMON_OPS_PADDR)
+ ctx->min_sz_region = max(
+ DAMON_MIN_REGION / sys_ctx->addr_unit, 1);
err = damon_sysfs_set_attrs(ctx, sys_ctx->attrs);
if (err)
return err;
--
2.39.5
next prev parent reply other threads:[~2025-09-17 16:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-28 17:12 [PATCH v3 00/11] mm/damon: support ARM32 with LPAE SeongJae Park
2025-08-28 17:12 ` [PATCH v3 01/11] mm/damon/core: add damon_ctx->addr_unit SeongJae Park
2025-08-28 17:12 ` [PATCH v3 02/11] mm/damon/paddr: support addr_unit for access monitoring SeongJae Park
2025-08-28 17:12 ` [PATCH v3 03/11] mm/damon/paddr: support addr_unit for DAMOS_PAGEOUT SeongJae Park
2025-08-28 17:12 ` [PATCH v3 04/11] mm/damon/paddr: support addr_unit for DAMOS_LRU_[DE]PRIO SeongJae Park
2025-08-28 17:12 ` [PATCH v3 05/11] mm/damon/paddr: support addr_unit for MIGRATE_{HOT,COLD} SeongJae Park
2025-08-28 17:12 ` [PATCH v3 06/11] mm/damon/paddr: support addr_unit for DAMOS_STAT SeongJae Park
2025-08-28 17:12 ` [PATCH v3 07/11] mm/damon/sysfs: implement addr_unit file under context dir SeongJae Park
2025-08-28 17:12 ` [PATCH v3 08/11] Docs/mm/damon/design: document 'address unit' parameter SeongJae Park
2025-08-28 17:12 ` [PATCH v3 09/11] Docs/admin-guide/mm/damon/usage: document addr_unit file SeongJae Park
2025-08-28 17:12 ` [PATCH v3 10/11] Docs/ABI/damon: " SeongJae Park
2025-08-28 17:12 ` [PATCH v3 11/11] mm/damon: add damon_ctx->min_sz_region SeongJae Park
2025-09-17 16:00 ` SeongJae Park [this message]
2025-09-17 21:29 ` 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=20250917160041.53187-1-sj@kernel.org \
--to=sj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=clm@fb.com \
--cc=damon@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=wangkefeng.wang@huawei.com \
--cc=yanquanmin1@huawei.com \
--cc=zuoze1@huawei.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox