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

KunWu Chan <[email protected]>
Newsgroups dev.linux.lists.damon,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kvack.linux-mm
Message-ID <CAN_Opa_h2W1hRimy2YXPC4EgueCi2UNwnZ5gSYV=cr8M7yfCmA@mail.gmail.com>
Hi Ravi,

Thanks for the detailed reply.  The fan-in diagnosis makes perfect sense.

> Your series is based on the v1 substrate, and the way an event is
> configured is the part that moves most.
>
> [...]

Glad to hear v2 is on the way.  The probe-based model is actually
something I encountered while building the AUX backend. When multiple
sources can feed the same region (e.g. PTE scanning + SPE/IBS), the
question of how to combine their reports becomes interesting.

For example, CXL tiering may care about physical-address locality, while
per-process monitoring may need virtual-address attribution.  How do you
see probe weights being determined — is that expected to be
scenario-specific, or is there a more general principle behind the
weighting?

> 2. The 67.9% drop rate is fan-in, not sizing
>
> ---
>
> [...]

I completely missed this.  The observability framework showed the
symptom (67.9% drop) but got the root cause wrong — it's not a ring
sizing issue, it's a fan-in problem.  With a single kdamond thread
draining the per-CPU sources, the samples effectively get funneled
into a single ring, which explains the numbers.

The per-CPU drain approach using `system_percpu_wq` and `queue_work_on()`
looks like the right fix.  Our AUX backend already carries a CPU argument
through the ops, so adapting it should be straightforward.  I'll take a
look at your v2 branch and re-test with the per-CPU drain.

Two questions:
1. Is `damon/perf-rfc-v2-08-20-26` ready for me to rebase the
   AUX backend and observability framework on top of it?  I'd like to
   validate the per-CPU drain fix with real SPE hardware.

2. For the probe-based configuration, does the `prep_action = "perf_event"`
   model preserve the same event lifecycle?  Our AUX path needs to create
   and bind the event during apply, keep it disabled initially, and enable
   it when kdamond starts.

Thanks,
KunWu
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.