Re: [PATCH] mm/damon: add damos_node_eligible_mem_bp tracepoint
From: Ravi Jonnalagadda
Date: Fri Oct 09 2026 - 20:10:38 EST
On Sun, Oct 4, 2026 at 1:01 AM SJ Park <sj@xxxxxxxxxx> wrote:
>
> Hi Ravi,
>
> On Sat, 3 Oct 2026 13:27:27 -0700 Ravi Jonnalagadda <ravis.opensrc@xxxxxxxxx> wrote:
>
> > Add a tracepoint for DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BP quota goal
> > evaluation. The tracepoint fires once per quota-score computation when
> > the goal metric is DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BP, exposing
> > context_idx, scheme_idx, nid, target_value, and current_value.
> > current_value is reported as the quota tuning sees it, after the goal's
> > complement setting is applied.
> >
> > The DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BP metric expresses node memory
> > occupancy as basis points of eligible bytes. This information is not
> > exposed through any existing external interface (perf stat, /proc, or
> > sysfs), so the tracepoint is the only way for userspace to observe the
> > target and current eligible-memory basis point values at quota-scoring
> > time.
>
> Thank you for this patch!
>
> We have damos_esz tracepoint. Have you considered using it? It doesn't expose
> the current value, though. I thought it wouldn't be real problem in most
> cases, but I can show it could be problematic for node_eligible_mem_bp case, as
> the metric value is not straightforward to see without using DAMON.
Hi SJ,
Yes, with the temporal goal tuner, damos_esz only
tells whether the goal is met, not how close current_value is to
target_value, and damo needs that to know when a step has settled.
>
> If you really need to know the current_value, I'm open to add a new tracepoint.
> But I think it has no reason to make it only eligible_mem_bp specific. How
> about adding more general purpose tracepoint, and/or update the current_value
> file [1] under the goal sysfs directory to show the current current_value for
> all goal types?
>
Agreed, nothing in it needs to be specific to node_eligible_mem_bp. I
will rework it as a general quota goal tracepoint, emitted for each goal
evaluation with the goal's metric, target_value and current_value, the
node id for the node metrics, and the memcg id for the memcg metrics.
I would leave the current_value file as it is for now. It would need a
stats update command or refresh_ms to stay current, and damo wants every
evaluation as it happens, which the tracepoint gives it.
Thanks,
Ravi.
> [1] https://origin.kernel.org/doc/html/latest/admin-guide/mm/damon/usage.html#sysfs-schemes-quota-goals
>
>
> Thanks,
> SJ
>
> [...]