public inbox for linux-perf-users@vger.kernel.org
 help / color / mirror / Atom feed
From: Akinobu Mita <akinobu.mita@gmail.com>
To: damon@lists.linux.dev
Cc: linux-perf-users@vger.kernel.org, sj@kernel.org, akinobu.mita@gmail.com
Subject: [RFC PATCH v2 0/6] mm/damon: introduce perf event based access check
Date: Mon,  9 Mar 2026 10:00:03 +0900	[thread overview]
Message-ID: <20260309010009.11639-1-akinobu.mita@gmail.com> (raw)

DAMON currently only provides PTE accessed-bit based access check, this
patch series adds a new perf event based access check.

Since perf event-based access checks do not require modifying the PTE
accessed-bit for pages representing each damon region, it reduces the
overhead of monitoring at a fixed granularity of the page size.
Furthermore, this patch series also includes a feature that allows you
to set a minimum region size for each target, enabling you to monitor
at any fixed size greater than the page size for each target.

Using these features also requires modifications to damo, but these are
not included in this patch series and are currently under development in
the following branch:

* https://github.com/mita/damo/tree/damo-perf-for-v3.1.8

Any feedback or advice on the patch set would be greatly appreciated.

* v2
- reintroduce damon_operations->cleanup()
- introduce struct damon_access_report
- use struct damon_access_report instead of introducing struct
  damon_perf_record
- remove maximum region size setting

* v1
- https://lore.kernel.org/damon/20260123021014.26915-1-akinobu.mita@gmail.com/T/

* TODO
- Currently, it is possible to unintentionally specify a perf_event
  that cannot obtain either PERF_SAMPLE_ADDR or PERF_SAMPLE_PHYS_ADDR
- Check if it works in a virtual environment using vPMU

Akinobu Mita (6):
  mm/damon: reintroduce damon_operations->cleanup()
  mm/damon/core: introduce struct damon_access_report
  mm/damon/core: add common code for perf event based access check
  mm/damon/vaddr: support perf event based access check
  mm/damon/paddr: support perf event based access check
  mm/damon: allow user to set min size of region

 .../ABI/testing/sysfs-kernel-mm-damon         |  10 +
 include/linux/damon.h                         |  63 ++
 mm/damon/core.c                               |  77 ++-
 mm/damon/ops-common.h                         |  39 ++
 mm/damon/paddr.c                              | 105 ++-
 mm/damon/sysfs-common.c                       |  11 +
 mm/damon/sysfs-common.h                       |   1 +
 mm/damon/sysfs.c                              | 399 ++++++++++-
 mm/damon/tests/sysfs-kunit.h                  |   2 +
 mm/damon/tests/vaddr-kunit.h                  |   5 +-
 mm/damon/vaddr.c                              | 654 +++++++++++++++++-
 11 files changed, 1332 insertions(+), 34 deletions(-)

-- 
2.43.0


             reply	other threads:[~2026-03-09  1:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-09  1:00 Akinobu Mita [this message]
2026-03-09  1:00 ` [RFC PATCH v2 1/6] mm/damon: reintroduce damon_operations->cleanup() Akinobu Mita
2026-03-09  1:00 ` [RFC PATCH v2 2/6] mm/damon/core: introduce struct damon_access_report Akinobu Mita
2026-03-09 15:19   ` Ian Rogers
2026-03-10  1:23     ` SeongJae Park
2026-03-09  1:00 ` [RFC PATCH v2 3/6] mm/damon/core: add common code for perf event based access check Akinobu Mita
2026-03-09  1:00 ` [RFC PATCH v2 4/6] mm/damon/vaddr: support " Akinobu Mita
2026-03-09  1:00 ` [RFC PATCH v2 5/6] mm/damon/paddr: " Akinobu Mita
2026-03-09  1:00 ` [RFC PATCH v2 6/6] mm/damon: allow user to set min size of region Akinobu Mita
2026-03-11  0:51 ` [RFC PATCH v2 0/6] mm/damon: introduce perf event based access check SeongJae Park
2026-03-13  7:35   ` Akinobu Mita
2026-03-14  1:31     ` SeongJae Park
2026-03-16  4:42       ` Akinobu Mita

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260309010009.11639-1-akinobu.mita@gmail.com \
    --to=akinobu.mita@gmail.com \
    --cc=damon@lists.linux.dev \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=sj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox