Re: [RFC PATCH 0/6] mm/damon: hardware-sampled access reports

From: Ravi Jonnalagadda

Date: Thu Jun 25 2026 - 21:14:09 EST


Hello Zeng and SJ,

Glad the branch built cleanly for you.

You can also refer to this branch, which carries the same series
with a few fixes from an internal sashiko run, folded in preparation
for v2.

https://github.com/ravis-opensrc/linux/tree/damon/perf-event-integrated-rfc-v2

Note this is still based on the v1 sysfs surface (raw type/config
knobs). The v2 I post to the list will reshape that userspace surface
to align with SJ's milestone plan, so the configuration interface will
change:

https://lore.kernel.org/all/20260525225208.1179-1-sj@xxxxxxxxxx/

Happy to help if you hit anything while testing — particularly
interested in which PMU you're sampling with (PEBS / IBS / something
on your platform).

Best,
Ravi

On Wed, Jun 24, 2026 at 4:23 AM Zeng Heng <zengheng4@xxxxxxxxxx> wrote:
>
> Hi SeongJae,
>
> On 2026/6/24 8:14, SeongJae Park wrote:
> > Hello Zeng,
> >
> > On Tue, 23 Jun 2026 22:08:03 +0800 Zeng Heng <zengheng4@xxxxxxxxxx> wrote:
> >
> >> Hi Ravi,
> >>
> >> On 2026/5/30 0:56, Ravi Jonnalagadda wrote:
> >>> This series introduces a vendor and PMU-agnostic substrate inside DAMON
> >>> that consumes hardware-sampled access reports through the standard
> >>> perf-event interface. Userspace selects the PMU through sysfs (raw
> >>> type/config knobs), driving either Intel PEBS L3-miss sampling or AMD
> >>> IBS Op sampling.
> >>>
> >>
> >> [...]
> >>
> >>>
> >>> Ravi Jonnalagadda (6):
> >>> mm/damon: add struct damon_perf_event{,_attr} and per-ctx perf_events
> >>> list
> >>> mm/damon/sysfs-sample: expose perf_events configuration via sysfs
> >>> mm/damon/sysfs: install perf_events on apply
> >>> mm/damon/core: per-CPU SPSC ring drain and damon_perf_event lifecycle
> >>> mm/damon/vaddr: implement perf-event access check
> >>> mm/damon: add damos_node_eligible_mem_bp tracepoint
> >>>
> >>> include/linux/damon.h | 80 +++++
> >>> include/trace/events/damon.h | 49 +++
> >>> mm/damon/core.c | 403 ++++++++++++++++++++----
> >>> mm/damon/ops-common.h | 39 +++
> >>> mm/damon/sysfs-common.h | 6 +
> >>> mm/damon/sysfs-sample.c | 579 +++++++++++++++++++++++++++++++++++
> >>> mm/damon/sysfs.c | 3 +
> >>> mm/damon/vaddr.c | 267 ++++++++++++++++
> >>> 8 files changed, 1370 insertions(+), 56 deletions(-)
> >>>
> >>>
> >>> base-commit: 4c8ad15abf15eb480d3ad85f902001e35465ef18
> >>
> >> I wasn't able to apply this patch series to the linux (and linux-next)
> >> mainline branch, and also had trouble identifying the source of the base
> >> commit.
> >>
> >> Would you mind sharing where this baseline is from?
> >
> > TLDR: I pushed [1] a tree having this series applied on top of the baseline to
> > GitHub. Please feel free to use it.
> >
> > I think the baseline was a commit on damon/next tree [2]. Because damon/next
> > is continuously rebased, we cannot get the commit in a simple way. Fortunately
> > the commit is still available on my local tree. So I applied this patch series
> > on top of the commit and pushed [1] to a branch of DAMON kernel tree at GitHub.
> >
> > Note that the branch is not guaranteed to exist there for long term. But
> > hopefully this series will be merged into the mainline before that.
> >
> > [1] https://github.com/damonitor/linux/tree/ravi_hw_sampled_access_reports_rfc_v1
> > [2] https://origin.kernel.org/doc/html/latest/mm/damon/maintainer-profile.html#scm-trees
> >
> >
> > Thanks,
> > SJ
> >
>
> Thanks a lot for providing the branch on GitHub. I've pulled it and
> confirmed it builds cleanly on my end.
>
> Appreciate the help!
>
>
> Best Regards,
> Zeng Heng