DAMON Release Newsletter for v7.3-rc1

From: SJ Park

Date: Sun Aug 30 2026 - 19:50:30 EST


Hello community,


This newsletter covers DAMON features that landed on or queued for the
mainline, development statistics and misc events that were noteworthy in my
opinion, that were happened from v7.1-rc1 (2026-06-28) to v7.2-rc1 (2026-08-30)
time period.

The newsletter covering the previous release cycle (v7.1-rc1..v7.2-rc1) is
also available [1].

TL; DR
======

Just after breaking the record of DAMON history in the last cycle, this cycle
again broke the record. It was the busiest cycle of DAMON history. 20 authors
made 161 commits and 2283 lines of changes for DAMON on the Linux mainline. A
new data attributes monitoring feature, a few optimizations for DAMON users,
and quite a lot of refactoring are delivered. New DAMON usages and development
projects are shared. The first DAMON (nano) Conference is scheduled.


Changes Landed on 7.2
=====================

All 95 commits that were landed on v7.2-rc1 have successfully landed on v7.2.
In addition to those, 15 additional hotfixes have merged into 7.2.

Those from 7.2-rc1 include a few user-visible and impactful features. To pick
only two among those, new DAMOS auto-tuning goal for tiered memory system
(node_eligible_mem_bp, commit 9138e27a3bc38) and data attributes monitoring
(commit 45c49d9fd6089) are introduced. Read the previous newsletter [1] for
more details.


Chanegs Landed for 7.3
======================

During the 7.3-rc1 merge window, 146 DAMON patches have landed via the MM pull
requests [2,3]. Introducing a few of changes that could introduce non-trivial
impacts.

New Features
------------

In this merge window, the below user-visible feature is added.

1. Commit 37aae41c1056: Patch series "mm/damon: introduce data attributes only
monitoring".

This feature makes DAMON useful for monitoring not only the data access
pattern, but also general data attributes. This is an important feature for
extending DAMON for not only access monitoring but general data attributes
monitoring. It is also the foundation part of ongoing project [4] for multiple
access check primitives support. As a followup, we are working on extending
data attributes to include access events. Once it is done, access monitoring
will be just a part of flexible attributes monitoring.

Optimizations
-------------

This merge window also introduces below DAMON internal behavior optimizations.

1. Commit 1a582e6e0174: Patch series "mm/damon/core: detect internal variation
above max_nr_regions/2", v3.
2. Commit aa497a270f68: Patch series "mm/damon: provide pseudo moving sum
probe_hits".
3. Commit 6c25083f7ae7: mm/damon/ops-common: use nr_accesses moving sum for
quota score

The first optimization is contributed by Jiayuan from Shopee. With it, DAMON
makes more efforts on the monitoring accuracy. The second optimization makes
snapshot-based data attributes monitoring (update_schemes_tried_regions) just
works. Without it, DAMON tracepoints were the only reliable way to get
attributes monitoring results. The third optimization improves DAMOS quality
in setups that separately and differently have schemes apply interval and
monitoring aggregation interval.

Refactoring
-----------

This merge window also introduced many cleanups and refactoring. Below three
changes among those may be noteworthy.

1. Commit b90408ef1163: Patch series "mm/damon: validate all parameters in the
core".
2. Commit 5bf9c1f3a97e: Patch series "mm/damon: refactor
damon_{start,stop,commit}() for simple error handling".
3. Commit e0ea9467dbef: Patch series "mm/damon/core: hide core-private struct
fields".

These are mostly motivated from recently found classes of bugs. Hopefully
these refactoring will reduce future bugs of same classes.

Changes Cooking for >7.3
========================

A number of patches are queued and being developed for future mainline landing.
My personal tree for those (damon/next) contains 214 downstream patches as of
this writing. Not all the patches are ready to be merged. Some will be
squashed or broken down. Anyway, the number was 231 for the last release
cycle. This cycle might be less busier than the last cycle, but still expected
to be non-idle.

Statistics
==========

Putting simple statistics for the last release period. Tools other than git
that are used here for getting the numbers are available [4,5] at GitHub.

In short, this cycle was the busiest cycle of DAMON development history.

Number Hotfixes and Non-hotfixes
--------------------------------

15 DAMON hotfixes have landed on 7.2.

git -C ./ log v7.2-rc1..v7.2 --oneline --no-merges -- \
Documentation/ABI/testing/sysfs-kernel-mm-damon \
Documentation/admin-guide/mm/damon/ Documentation/mm/damon/ \
Documentation/vm/damon/ include/linux/damon.h \
include/trace/events/damon.h mm/damon/ samples/damon/ \
tools/testing/selftests/damon | wc -l
15

146 six DAMON changes have landed on 7.3-rc1 during the merge
window.

git -C ./ log v7.2..linus/master --oneline --no-merges -- \
Documentation/ABI/testing/sysfs-kernel-mm-damon \
Documentation/admin-guide/mm/damon/ Documentation/mm/damon/ \
Documentation/vm/damon/ include/linux/damon.h \
include/trace/events/damon.h mm/damon/ samples/damon/ \
tools/testing/selftests/damon | wc -l
146

The numbers for the last ten release cycles are like below:

7.2 fixes: 15 7.3 changes: 146
7.1 fixes: 11 7.2 changes: 95
7.0 fixes: 9 7.1 changes: 64
6.19 fixes: 7 7.0 changes: 68
6.18 fixes: 7 6.19 changes: 78
6.17 fixes: 15 6.18 changes: 41
6.16 fixes: 8 6.17 changes: 93
6.15 fixes: 0 6.16 changes: 22
6.14 fixes: 6 6.15 changes: 62
6.13 fixes: 4 6.14 changes: 57

The 6.17 development cycle was the busiest DAMON development cycle in history
(~6 years since 5.15) before the 7.2 cycle. The 7.2 cycle broke the record.
And right after that, this cycle for 7.3 broke the record again.

Authors, Commits and Changed Lines
----------------------------------

In this cycle, 20 people made gratful 161 commits and 2283 lines of changes
for DAMON on the Linux mainline.

$ # stat for number of commits
$ ./lazybox/version_control/authors.py ./linux/ \
--since v7.2-rc1 --until v7.3-rc1 \
--skip_merge_commits --linux_subsystems DAMON
1. SJ Park <sj@xxxxxxxxxx>: 130 commits
2. Song Hu <husong@xxxxxxxxxx>: 6 commits
3. Kunwu Chan <chentao@xxxxxxxxxx>: 3 commits
4. SeongJae Park <sj@xxxxxxxxxx>: 3 commits
5. Jiayuan Chen <jiayuan.chen@xxxxxxxxxx>: 2 commits
6. Ruslan Valiyev <linuxoid@xxxxxxxxx>: 2 commits
7. Cheng Nie <niecheng1@xxxxxxxxxxxxx>: 2 commits
8. Xuewen Wang <wangxuewen@xxxxxxxxxx>: 1 commits
9. Jiahui Zhang <jiahuitry@xxxxxxxxxxx>: 1 commits
10. Enze Li <lienze@xxxxxxxxxx>: 1 commits
11. liyouhong <liyouhong@xxxxxxxxxx>: 1 commits
12. Lorenzo Stoakes <ljs@xxxxxxxxxx>: 1 commits
13. wang wei <a929244872@xxxxxxx>: 1 commits
14. Sailesh Nandanavanam <saileshnandanavanam@xxxxxxxxx>: 1 commits
15. Asier Gutierrez <gutierrez.asier@xxxxxxxxxxxxxxxxxxx>: 1 commits
16. Doehyun Baek <doehyunbaek@xxxxxxxxx>: 1 commits
17. Philippe Laferriere <plafer@xxxxxxxxx>: 1 commits
18. Akinobu Mita <akinobu.mita@xxxxxxxxx>: 1 commits
19. Arnd Bergmann <arnd@xxxxxxxx>: 1 commits
20. Zenghui Yu <yuzenghui@xxxxxxxxxx>: 1 commits
# 20 authors, 161 commits in total

$ # stat for number of lines
$ ./lazybox/version_control/authors.py ./worktree.linux/ \
--since v7.2-rc1 --until v7.3-rc1 --skip_merge_commits \
--linux_subsystems DAMON --sortby lines
1. SJ Park <sj@xxxxxxxxxx>: 1810 lines
2. Jiayuan Chen <jiayuan.chen@xxxxxxxxxx>: 113 lines
3. Song Hu <husong@xxxxxxxxxx>: 95 lines
4. Ruslan Valiyev <linuxoid@xxxxxxxxx>: 85 lines
5. Kunwu Chan <chentao@xxxxxxxxxx>: 34 lines
6. Cheng Nie <niecheng1@xxxxxxxxxxxxx>: 33 lines
7. Sailesh Nandanavanam <saileshnandanavanam@xxxxxxxxx>: 28 lines
8. SeongJae Park <sj@xxxxxxxxxx>: 26 lines
9. Doehyun Baek <doehyunbaek@xxxxxxxxx>: 20 lines
10. liyouhong <liyouhong@xxxxxxxxxx>: 9 lines
11. Xuewen Wang <wangxuewen@xxxxxxxxxx>: 6 lines
12. Lorenzo Stoakes <ljs@xxxxxxxxxx>: 5 lines
13. Akinobu Mita <akinobu.mita@xxxxxxxxx>: 4 lines
14. Zenghui Yu <yuzenghui@xxxxxxxxxx>: 3 lines
15. Jiahui Zhang <jiahuitry@xxxxxxxxxxx>: 2 lines
16. Enze Li <lienze@xxxxxxxxxx>: 2 lines
17. wang wei <a929244872@xxxxxxx>: 2 lines
18. Asier Gutierrez <gutierrez.asier@xxxxxxxxxxxxxxxxxxx>: 2 lines
19. Philippe Laferriere <plafer@xxxxxxxxx>: 2 lines
20. Arnd Bergmann <arnd@xxxxxxxx>: 2 lines
# 20 authors, 2283 lines in total

Snapshots of the number of authors, commits and changed lines for the last ten
cycles are below. The snapshots for the entire DAMON history is also available
[7] at the DAMON project blog.

<version> <nr_authors> <nr_commits> <nr_lines>
v7.3-rc1 21 162 2283
v7.2-rc1 14 109 3311
v7.1-rc1 9 77 1070
v7.0-rc1 12 75 1279
v6.19-rc1 10 85 1640
v6.18-rc1 13 59 864
v6.17-rc1 8 104 3785
v6.16-rc1 5 22 564
v6.15-rc1 7 68 1479
v6.14-rc1 8 61 4008

In terms of number of contributors and number of commits, this was the busiest
cycle in DAMON's development history.

DAMON user-space tool (damo) also got a significant amount of changes.

./lazybox/version_control/authors.py ./damo \
--since 2026-06-28T12:01:31-07:00 \
--until 2026-08-30T13:34:40-07:00 \
--skip_merge_commits
1. SJ Park <sj@xxxxxxxxxx>: 257 commits
2. Michel Lind <salimma@xxxxxxxxxxxxxxxxx>: 1 commits
3. Enze Li <lienze@xxxxxxxxxx>: 1 commits
4. Daniel Lysyi <daniellysy566@xxxxxxxxx>: 1 commits
5. oopiec <157018150+oopiec@xxxxxxxxxxxxxxxxxxxxxxxx>: 1 commits
# 5 authors, 261 commits in total

The last line was "4 authors, 151 commits in total" for the last cycle [1].

Mailing List Traffic
--------------------

DAMON mailing list was quite busy.

$ hkml list damon --since v7.2-rc1 --until v7.3-rc1 --collapse \
--stat_only --stdout --ignore_cache
# stat for total mails
# 2019 mails, 183 threads, 180 new threads
# 871 patches, 148 series
[...]

The traffic for the last ten cycles were like below. The numbers for the
entire DAMON development history is also available [7] at DAMON project blog.

<version> <nr_mails> <nr_threads> <nr_new_threads> <nr_patches> <nr_series>
v7.3-rc1 2019 183 180 871 148
v7.2-rc1 1486 164 142 671 126
v7.1-rc1 1098 152 147 450 129
v7.0-rc1 426 111 58 223 43
v6.19-rc1 414 48 43 222 38
v6.18-rc1 563 82 62 211 53
v6.17-rc1 499 78 72 256 64
v6.16-rc1 147 40 31 63 22
v6.15-rc1 263 56 41 176 34
v6.14-rc1 260 55 34 154 23

So the traffic is continuously and exponentially increasing. By every traffic
metric, the last cycle was the busiest cycle in DAMON's history.

Events
======

Lian Wang from ProcessMission continued working on mTHP monitoring
improvement. As a part of it, they developed and shared patches [8] for
extending DAMOS to flexibly handle mTHP collapse and split.

Asier Gutierrez from Huawei continued working on DAMOS tuning goal for THP
(hugepage_mem_bp). The latest version [9] of the series has passed my humble
review. Hopefully it will be merged into 7.4-rc1.

Kunwu Chan and Lian Wang developed and shared [10] ARM SPE based DAMON backend.
As soon as the major milestones of ongoing projects for multiple DAMON access
check primitives support [4] is completed, this series will also hopefully be
merged.

Jason Angelov developed and shared [11] a user-space pager that finds cold
pages using DAMON and compresses those.

Krishna Iyer from Crusoe developed and shared patches [12] for monitoring
hugetlb pages on physical address space mode. It also includes interesting
test results on Crusoe's VM host setups.

I'm also more that excited to share that we will have our first DAMON (nano)
Conference [13] at LPC this year. There will be five small sessions covering
the evolution of DAMON for multiple access check primitives, memory tiering,
huge pages, and AI cloud. Refer to the website [13] for more details.

Newsletter Subscription
=======================

This newsletter series is posted to DAMON mailing list [14] and archived on the
project blog [15], for each release. If you want a reliable delivery of this
newsletter series to your inbox, subscribing to the mailing list [16] could be
an option. If the mailing list traffic is too much, feel free to ask me (send
mail to sj@xxxxxxxxxx) to [b]cc you for each newsletter posting.

References
==========

[1] 7.2-rc1 news: https://lore.kernel.org/20260628211904.94361-1-sj@xxxxxxxxxx/
[2] First MM PR for 7.3-rc1:
https://lore.kernel.org/178728181878.600189.588163658498005550.pr-tracker-bot@xxxxxxxxxx
[3] Second MM PR for 7.3-rc1:
https://lore.kernel.org/20260826152330.9cdd482b43726942d6c149cb@xxxxxxxxxxxxxxxxxxxx/
[4] DAMON access primitives extension roadmap:
https://lore.kernel.org/20260525225208.1179-1-sj@xxxxxxxxxx/
[5] authors.py: https://github.com/sjp38/lazybox/blob/master/version_control/authors.py
[6] hkml: https://github.com/hackermail
[7] DAMON development stat history: https://damonitor.github.io/posts/dev_stat/
[8] DAMOS mTHP collapse/split series:
https://lore.kernel.org/20260720030327.80153-1-lianux.mm@xxxxxxxxx
[9] hugepage_mem_bp series:
https://lore.kernel.org/20260720120140.881468-1-gutierrez.asier@xxxxxxxxxxxxxxxxxxx
[10] ARM SPE-based DAMON backend:
https://lore.kernel.org/all/20260816142222.689624-1-kunwu.chan@xxxxxxxxx/
[11] Cold Pages DAMON Pager:
https://github.com/jasonangelov/damon-compression-pager
[12] paddr hugetlb monitoring series:
https://lore.kernel.org/20260830051407.50008-1-kiyer@xxxxxxxxx/
[13] DAMON (nano) Conference: https://lpc.events/event/20/contributions/2453/
[14] DAMON mailing list: https://lore.kernel.org/damon
[15] News letter on project blog: https://damonitor.github.io/tags/release_news/
[16] Mailing list subscription guide: https://subspace.kernel.org/subscribing.html


Thanks,
SJ