From: Lian Wang <lianux.mm@gmail.com>
To: david@kernel.org
Cc: damon@lists.linux.dev, linux-mm@kvack.org, sj@kernel.org,
akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
ljs@kernel.org, liam@infradead.org, vbabka@kernel.org,
rppt@kernel.org, surenb@google.com, mhocko@suse.com,
npache@redhat.com, ziy@nvidia.com, baolin.wang@linux.alibaba.com,
ryan.roberts@arm.com, daichaobing@sangfor.com.cn,
wangkefeng.wang@huawei.com, gutierrez.asier@huawei-partners.com,
zengheng4@huawei.com, kasong@tencent.com, corbet@lwn.net,
skhan@linuxfoundation.org, linux-doc@vger.kernel.org,
linux-kselftest@vger.kernel.org, lianux.mm@gmail.com,
lianux.wang@processmission.com, kunwu.chan@linux.dev
Subject: Re: [RFC PATCH v3 0/3] mm/damon: introduce DAMOS_SPLIT action
Date: Mon, 20 Jul 2026 17:56:33 +0800 [thread overview]
Message-ID: <20260720095633.32281-1-lianux.mm@gmail.com> (raw)
In-Reply-To: <59292ba2-e0cc-4e50-bb26-be9c15843a41@kernel.org>
Hi David,
On 7/20/2026 10:44 AM, David Hildenbrand (Arm) wrote:
> you give no real motivation and evaluation why this is required or
> why this gives the user any benefit.
> A SPLIT with an explicit order is not really want we want and it
> does not fit the existing primitives.
Thank you for the direct feedback. Let me explain where this came
from -- the cover letter should have included this context.
This started from a real problem at Sangfor. The scenario is:
KVM-QEMU virtualization on Kunpeng 920, with KVM guest memory
backed by tmpfs shared mappings (THP=always on the host). An
Oracle database runs inside the VM. DAMON monitors the KVM
process on the host to measure the hot-memory ratio.
The KVM process allocates and uses a large amount of memory.
Under the same workload, DAMON reports a significantly higher
hot-memory ratio with THP enabled versus THP disabled. Direct
tmpfs write tests inside the VM -- touching at 4K and 2M
strides -- show a clear gap between the two cases.
DAMON parameters used:
operations=vaddr
monitoring_attrs/nr_regions/min=500
monitoring_attrs/nr_regions/max=2000
monitoring_attrs/intervals/sample_us=500000
monitoring_attrs/intervals/aggr_us=20000000
monitoring_attrs/intervals/update_us=60000000
schemes/0/action=stat
schemes/0/access_pattern/nr_accesses/min=1
schemes/0/access_pattern/nr_accesses/max=max
The underlying issue is that under PMD-mapped THP, DAMON's monitoring
granularity is coarser than the actual working set -- a single
Accessed bit covers 512 base pages. Before SJ's probe infrastructure
arrives, there is a gap: DAMON cannot distinguish hot sub-pages from
cold ones within a single THP.
Split is one possible mechanism to bridge that gap -- by dismantling
the PMD mapping, each base page gets its own PTE Accessed bit and
DAMON recovers fine-grain monitoring. It is not intended to be a
permanent API, and certainly not "the opposite of collapse".
I did not write this scenario into the cover letter because our test
results do not yet show a clear quantitative benefit worth claiming,
and I did not want to oversell. Without the context, I understand it
looks like I randomly proposed a new primitive -- that was not the
intention.
SJ acknowledged [1] that the monitoring problem under THP is real.
My RFC is a concrete proposal to start the discussion. If split with
an explicit order is not the right primitive, I would appreciate your
thoughts on what the correct DAMOS abstraction for this should be.
[1] https://lore.kernel.org/20260620203915.82947-1-sj@kernel.org/
Thanks,
Lian Wang
next prev parent reply other threads:[~2026-07-20 9:56 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-20 3:03 [RFC PATCH v3 0/3] mm/damon: introduce DAMOS_SPLIT action Lian Wang
2026-07-20 3:03 ` [RFC PATCH v3 1/3] " Lian Wang
2026-07-20 9:47 ` Gutierrez Asier
2026-07-20 10:02 ` Lian Wang
2026-07-20 3:03 ` [RFC PATCH v3 2/3] mm/damon/vaddr: implement DAMOS_SPLIT handler Lian Wang
2026-07-20 3:03 ` [RFC PATCH v3 3/3] selftests/damon: add functional test for DAMOS_SPLIT Lian Wang
2026-07-20 9:28 ` [RFC PATCH v3 0/3] mm/damon: introduce DAMOS_SPLIT action Gutierrez Asier
2026-07-20 9:43 ` Lian Wang
2026-07-20 9:44 ` David Hildenbrand (Arm)
2026-07-20 9:56 ` Lian Wang [this message]
2026-07-20 19:12 ` Zi Yan
2026-07-21 0:47 ` SJ Park
2026-07-21 1:34 ` Lian Wang
2026-07-21 1:08 ` SJ Park
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=20260720095633.32281-1-lianux.mm@gmail.com \
--to=lianux.mm@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=corbet@lwn.net \
--cc=daichaobing@sangfor.com.cn \
--cc=damon@lists.linux.dev \
--cc=david@kernel.org \
--cc=gutierrez.asier@huawei-partners.com \
--cc=kasong@tencent.com \
--cc=kunwu.chan@linux.dev \
--cc=liam@infradead.org \
--cc=lianux.wang@processmission.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ljs@kernel.org \
--cc=mhocko@suse.com \
--cc=npache@redhat.com \
--cc=rppt@kernel.org \
--cc=ryan.roberts@arm.com \
--cc=sj@kernel.org \
--cc=skhan@linuxfoundation.org \
--cc=surenb@google.com \
--cc=vbabka@kernel.org \
--cc=wangkefeng.wang@huawei.com \
--cc=zengheng4@huawei.com \
--cc=ziy@nvidia.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