* [RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type
@ 2026-11-05 4:44 SJ Park
2026-11-05 4:44 ` [RFC PATCH v2 3/4] Docs/mm/damon/design: update for " SJ Park
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: SJ Park @ 2026-11-05 4:44 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, Jonathan Corbet, Randy Dunlap, Shuah Khan,
damon, linux-doc, linux-kernel, linux-mm
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@kernel.org
- 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
^ permalink raw reply [flat|nested] 5+ messages in thread
* [RFC PATCH v2 3/4] Docs/mm/damon/design: update for age_ms damos core filter type
2026-11-05 4:44 [RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type SJ Park
@ 2026-11-05 4:44 ` SJ Park
2026-11-05 4:44 ` [RFC PATCH v2 4/4] Docs/admin-guide/mm/damon/usage: update for age_ms damos core filter SJ Park
2026-11-05 12:31 ` [RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type Aveline Noir
2 siblings, 0 replies; 5+ messages in thread
From: SJ Park @ 2026-11-05 4:44 UTC (permalink / raw)
Cc: SJ Park, Jonathan Corbet, Randy Dunlap, Shuah Khan, damon,
linux-doc, linux-kernel, linux-mm
Update DAMON design document for the newly added age_ms DAMOS core
filter type.
Signed-off-by: SJ Park <sj@kernel.org>
---
Documentation/mm/damon/design.rst | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst
index 0689fd48446dc..8440c4954090e 100644
--- a/Documentation/mm/damon/design.rst
+++ b/Documentation/mm/damon/design.rst
@@ -838,6 +838,9 @@ Below ``type`` of filters are currently supported.
- probe_hits_wsum
- Matches to monitoring regions having a given range of :ref:`probe
hits weighted sum <damon_design_attrs_only_monitoring>` value.
+ - age_ms
+ - Matces to monitoring regions having a given range of :ref:`age
+ <damon_design_age_tracking>` value in milliseconds.
- Operations layer handled, supported by only ``paddr`` operations set.
- anon
- Applied to pages that contain data that are not stored in files.
--
2.47.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [RFC PATCH v2 4/4] Docs/admin-guide/mm/damon/usage: update for age_ms damos core filter
2026-11-05 4:44 [RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type SJ Park
2026-11-05 4:44 ` [RFC PATCH v2 3/4] Docs/mm/damon/design: update for " SJ Park
@ 2026-11-05 4:44 ` SJ Park
2026-11-05 12:31 ` [RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type Aveline Noir
2 siblings, 0 replies; 5+ messages in thread
From: SJ Park @ 2026-11-05 4:44 UTC (permalink / raw)
Cc: SJ Park, Jonathan Corbet, Randy Dunlap, Shuah Khan, damon,
linux-doc, linux-kernel, linux-mm
Update DAMON usage document for the newly added age_ms DAMOS core filter
type. Add an explanation of how the age range for the filter can be
specified by the user.
Signed-off-by: SJ Park <sj@kernel.org>
---
Documentation/admin-guide/mm/damon/usage.rst | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin-guide/mm/damon/usage.rst
index cc7465251bb6f..6093b1c8fbfd9 100644
--- a/Documentation/admin-guide/mm/damon/usage.rst
+++ b/Documentation/admin-guide/mm/damon/usage.rst
@@ -559,6 +559,9 @@ For ``probe_hits_wsum`` type, you can specify the minimum and maximum probe
hits weighted sum value for the filter to ``min`` and ``max`` files,
respectively.
+For ``age_ms`` type, you can specify the minimum and maximum age in
+milliseconds for the filter to ``min`` and ``max`` files, respectively.
+
For ``memcg`` type, you can specify the memory cgroup of the interest by
writing the path of the memory cgroup from the cgroups mount point to
``memcg_path`` file. For ``addr`` type, you can specify the start and end
--
2.47.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type
2026-11-05 4:44 [RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type SJ Park
2026-11-05 4:44 ` [RFC PATCH v2 3/4] Docs/mm/damon/design: update for " SJ Park
2026-11-05 4:44 ` [RFC PATCH v2 4/4] Docs/admin-guide/mm/damon/usage: update for age_ms damos core filter SJ Park
@ 2026-11-05 12:31 ` Aveline Noir
2026-11-05 14:32 ` SJ Park
2 siblings, 1 reply; 5+ messages in thread
From: Aveline Noir @ 2026-11-05 12:31 UTC (permalink / raw)
To: SJ Park
Cc: Andrew Morton, Jonathan Corbet, damon, linux-doc, linux-kernel,
linux-mm, Randy Dunlap, sashiko-bot, sashiko-reviews, Shuah Khan
Hi SJ,
On Wed, 04 Nov 2026 20:44:20 -0800 SJ Park wrote:
> 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.
Makes sense.
Reviewed-by: Aveline Noir <jm5905938@gmail.com>
Thanks,
Aveline Noir
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type
2026-11-05 12:31 ` [RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type Aveline Noir
@ 2026-11-05 14:32 ` SJ Park
0 siblings, 0 replies; 5+ messages in thread
From: SJ Park @ 2026-11-05 14:32 UTC (permalink / raw)
To: Aveline Noir
Cc: SJ Park, Andrew Morton, Jonathan Corbet, damon, linux-doc,
linux-kernel, linux-mm, Randy Dunlap, sashiko-bot,
sashiko-reviews, Shuah Khan
On Thu, 05 Nov 2026 23:31:53 +1100 Aveline Noir <jm5905938@gmail.com> wrote:
> Hi SJ,
>
> On Wed, 04 Nov 2026 20:44:20 -0800 SJ Park wrote:
>
> > 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.
>
> Makes sense.
>
> Reviewed-by: Aveline Noir <jm5905938@gmail.com>
Thank you for reviewing, Aveline!
Thanks,
SJ
[...]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-11-05 14:32 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-05 4:44 [RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type SJ Park
2026-11-05 4:44 ` [RFC PATCH v2 3/4] Docs/mm/damon/design: update for " SJ Park
2026-11-05 4:44 ` [RFC PATCH v2 4/4] Docs/admin-guide/mm/damon/usage: update for age_ms damos core filter SJ Park
2026-11-05 12:31 ` [RFC PATCH v2 0/4] mm/damon: introduce age_ms damos core filter type Aveline Noir
2026-11-05 14:32 ` SJ Park
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox