]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm/damon: add trace event for auto-tuned monitoring intervals
authorSeongJae Park <sj@kernel.org>
Fri, 4 Jul 2025 22:14:07 +0000 (15:14 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 13 Jul 2025 23:38:33 +0000 (16:38 -0700)
Patch series "mm/damon: add trace events for auto-tuned monitoring
intervals and DAMOS quota".

The aim-oriented auto-tuning features for monitoring intervals and DAMOS
quota are important and recommended.  Add tracepoints for observabilities
of those tuned values and the tuning itself.

This patch (of 2):

Aim-oriented monitoring intervals auto-tuning is an important and
recommended feature for DAMON users.  Add a trace event for the
observability of the tuned intervals and tuning itself.

Link: https://lkml.kernel.org/r/20250704221408.38510-1-sj@kernel.org
Link: https://lkml.kernel.org/r/20250704221408.38510-2-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: kernel test robot <lkp@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/trace/events/damon.h
mm/damon/core.c

index da4bd9fd11625eeedacf69ce4fd30e35d108939e..32c6110760236fb16bf99137d91ee7d42a51ef4a 100644 (file)
@@ -48,6 +48,23 @@ TRACE_EVENT_CONDITION(damos_before_apply,
                        __entry->nr_accesses, __entry->age)
 );
 
+TRACE_EVENT(damon_monitor_intervals_tune,
+
+       TP_PROTO(unsigned long sample_us),
+
+       TP_ARGS(sample_us),
+
+       TP_STRUCT__entry(
+               __field(unsigned long, sample_us)
+       ),
+
+       TP_fast_assign(
+               __entry->sample_us = sample_us;
+       ),
+
+       TP_printk("sample_us=%lu", __entry->sample_us)
+);
+
 TRACE_EVENT(damon_aggregated,
 
        TP_PROTO(unsigned int target_id, struct damon_region *r,
index 979b29e16ef460b3bc8b03a059c3fe258c660351..57a1ace4d10dfb57436b011adb4bc9ef50600454 100644 (file)
@@ -1490,6 +1490,7 @@ static void kdamond_tune_intervals(struct damon_ctx *c)
                        new_attrs.sample_interval);
        new_attrs.aggr_interval = new_attrs.sample_interval *
                c->attrs.aggr_samples;
+       trace_damon_monitor_intervals_tune(new_attrs.sample_interval);
        damon_set_attrs(c, &new_attrs);
 }