SeongJae Park
unread,Feb 21, 2026, 1:03:54 PM (6 days ago) Feb 21Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to SeongJae Park, Akinobu Mita, Andrew Morton, Brendan Higgins, David Gow, da...@lists.linux.dev, kuni...@googlegroups.com, linux-...@vger.kernel.org, linux-k...@vger.kernel.org, linu...@kvack.org
DAMON core respects min_nr_regions only at merge operation. DAMON API
callers are therefore responsible to respect or ignore that. Only vaddr
ops is respecting that, but only for initial start time. DAMON sysfs
interface allows users to setup the initial regions that DAMON core also
respects. But, again, it works for only the initial time. Users
setting the regions for min_nr_regions can be difficult and inefficient,
when the min_nr_regions value is high. There was actually a report [1]
from a user. The use case was page granular access monitoring with a
large aggregation interval.
Make the following three changes for resolving the issue. First (patch
1), make DAMON core split regions at the beginning and every aggregation
interval, to respect the min_nr_regions. Second (patch 2), drop the
vaddr's split operations and related code that are no more needed.
Third (patch 3), add a kunit test for the newly introduced function.
Changes from RFC v1
(
https://lore.kernel.org/202602170004...@kernel.org)
- Split regions every aggregation interval
[1]
https://lore.kernel.org/CAC5umyjmJE9SBqjbetZZecpY54bHpn2AvCGNv3aF6J=1cf...@mail.gmail.com
SeongJae Park (3):
mm/damon/core: split regions for min_nr_regions
mm/damon/vaddr: do not split regions for min_nr_regions
mm/damon/test/core-kunit: add damon_apply_min_nr_regions() test
mm/damon/core.c | 45 ++++++++++++++++++---
mm/damon/tests/core-kunit.h | 52 ++++++++++++++++++++++++
mm/damon/tests/vaddr-kunit.h | 76 ------------------------------------
mm/damon/vaddr.c | 70 +--------------------------------
4 files changed, 93 insertions(+), 150 deletions(-)
base-commit: de85cadcf3a95954743146e39ffacc58d2355184
--
2.47.3