damo supports recording data access patterns on Android

DAMON exports data access pattern of the system and workload to the user space in multiple ways. Tracepoint is one such way DAMON is using to provide the full access pattern monitoring results in real time. DAMON user-space tool (damo) collects and visualizes the information in a handy and human-friendly way. For the collection, damo was internally using perf. On some environments including Android, perf is not available. This made use of DAMON on Android and similar platforms difficult....

January 10, 2026 · 1 min · 152 words · Me

Major DAMON changes that merged for Linux 6.19

A number of DAMON changes for Linux 6.19-rc1 has merged into the mainline as a part of MM pull reqeust for Linux 6.19-rc1, which was sent by Andrew Morton. To list the changes here again: mm/damon: allow DAMOS auto-tuned for per-memcg per-node memory usage (patches) mm/damon: fixes for address alignment issues in DAMON_LRU_SORT and DAMON_RECLAIM (patches) mm/damon: misc documentation fixups (patches) mm/damon: support pin-point targets removal (patches) mm/damon/tests: fix memory bugs in kunit tests (patches) mm/damon/tests: add more tests for online parameters commit (patches) mm/damon: misc cleanups (patches)

December 5, 2025 · 1 min · 88 words · Me

A rough plan for CPUs/write-only monitoring RFC v3 and future

Updates after initial posting. 2026-01-13 update: The RFC v3 has posted to the mailing list. Below is also sent as a mail to DAMON mailing list and relevant people. I’m working [1] on extending DAMON to monitor accesses that are made by specific CPUs, and/or for writes. The aimed usages include NUMA hit/miss monitoring [2], Kernel Same page Merging scan target selection [3,4], cache aware CPU scheduling, live migration target VM selection [5], and general NUMA-aware pages migration [6]....

November 28, 2025 · 4 min · 757 words · Me

Citations

This post lists research papers and news articles citing DAMON in an interesting way rather than just simple name listing. The list is collected in a human sense from incomplete searching, so it is quite far from perfect. Please reach out to sj@kernel.org if you want updates on the list. Yet another way to get the list would be using the Google Scholar for DAMON author-published paper ciataions (1, 2)....

November 26, 2025 · 3 min · 494 words · Me

DAMON for Write-only or Given CPUs-only Monitoring

2025-12-08 update: The RFC v3 is posted. From the very early days of DAMON, there were attempts to extend it for cpus-aware monitoring and write-only monitoring. In 2022, Xin Hao proposed extending DAMON for NUMA access statistics. In 2022 and 2025, Pedro Demarchi Gomes proposed extending DAMON for writes-only monitoring. Those proposals are not yet upstreamed though. We continued similar DAMON extension discussions publicly and privately, with multiple parties, though....

August 3, 2025 · 3 min · 502 words · Me

`damo report heatmap` modernization for snapshots, page level monitoring and intervals auto-tuning

TL; DR: damo report heatmap has recently advanced to support modern DAMON features including age tracking, snapshots, page level monitoring, and monitoring intervals auto-tuning. It will help users intuitively understand the monitored access patterns at a glance. DAMON in The Past: Full Recording based Monitoring At the beginning, DAMON was providing only the access frequency of each memory region in real time. Hence heatmap visualization, which shows the access frequency of each memory area in the timeline was the first and one of the best ways to see the access pattern....

June 8, 2025 · 10 min · 1989 words · Me

Why the heatmap is not showing the expected access patterns?

TL; DR: try --draw_range all option of damo report heatmap if it shows not what you expected. --interactive_edit option can also be helpful, like below. Problem: Scoping of Huge Time/Space damo report heatmap outputs sometimes show no expected access pattern. It is sometimes just entirely black, or shows some access pattern but not what the user expected. This post is for explaining the reason and how you can work around....

March 16, 2025 · 3 min · 534 words · Me