[RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type
From: SJ Park
Date: Thu Nov 05 2026 - 00:03:13 EST
DAMOS access pattern supports selecting regions to apply a given
operation to, based on their age (access frequency stability). The age
is specified in the aggregation intervals unit. The aggregation
interval can be changed by users or intervals auto-tuning features. If
the intention is to specify the age in a deterministic way (e.g., 2
minutes), it should be updated for each aggregation interval update.
Doing so is cumbersome and challenging, particularly in the interval
auto-tuning case.
One straightforward solution is extending the DAMOS access pattern for
specific deterministic time based age specification. However, DAMOS
core filter is a better option. It is playing a similar role in a more
flexible way. It can be used for both accepting and rejecting regions
based on if they matched or unmatched to a given criteria. Multiple
filters can also be combined for more flexible and detailed rules.
Extend DAMOS core filter to support milliseconds unit based age
criteria.
Implement a new DAMOS core filter type, DAMOS_FILTER_TYPE_AGE_MS, in
core layer and expose to DAMON API, via patch 1. Add the support of the
feature on DAMON sysfs ABI with patch 2. Update the design and usage
documents to explain the new features with patches 3 and 4,
respectively.
Changes from RFC
- RFC: https://lore.kernel.org/20261104153645.82945-1-sj@xxxxxxxxxx
- Use div_u64() to avoid 32 bit overflow of age_ms in core.
SJ Park (4):
mm/damon/core: add DAMOS_FILTER_TYPE_AGE_MS
mm/damon/sysfs-schemes: support DAMOS_FILTER_TYPE_AGE_MS
Docs/mm/damon/design: update for age_ms damos core filter type
Docs/admin-guide/mm/damon/usage: update for age_ms damos core filter
Documentation/admin-guide/mm/damon/usage.rst | 3 +++
Documentation/mm/damon/design.rst | 3 +++
include/linux/damon.h | 16 ++++++++++------
mm/damon/core.c | 10 +++++++++-
mm/damon/sysfs-schemes.c | 5 +++++
5 files changed, 30 insertions(+), 7 deletions(-)
base-commit: b8894fdd591f7e789182cabd6b6a2aefd3d35c3d
--
2.47.3