v1 2026-08-18

DAMON 硬件采样报告可观测框架 · v1

为 DAMON 添加硬件采样访问报告的 tracepoints 和 CONFIG 开关,实现 observe API 及 perf 集成。

原始补丁链接

子 Patch(7)

1/7
mm/damon/perf: add observability framework with tracepoints and CONFIG switch
新增DAMON perf可观测性框架头文件与CONFIG_DAMON_PERF_OBSERVE开关,定义tracepoint和静态no-op API,记录sample_flags、sample_type及执行上下文。
2/7
mm/damon/perf: implement observe API and per-CPU statistics engine
实现observe API核心:每CPU单调计数器、事件生命周期钩子、NMI安全sample分类、ring入队/出队等,damon_perf_observe_sample()记录上下文。
3/7
mm/damon/perf: add debugfs statistics interface
通过debugfs的perf_stats文件暴露每CPU聚合计数器和事件阶段,格式明确不稳定,tracepoint才是稳定诊断接口。
4/7
mm/damon: integrate observe API into vaddr overflow handlers and core drain
将observe API接入DAMON vaddr溢出处理和kdamond drain,按tgid匹配报告;用READ_ONCE读ring->tail避免撕裂,开关关闭时纯统计无副作用。
5/7
selftests/damon: add automated layer-by-layer observability test
新增DAMON可观测性自动化测试,用软件缺页PMU作阳性对照,逐层断言回调、ring、drain、tracepoint及每CPU状态,并给出PMU支持结论。
6/7
Docs/mm/damon: document the perf observability framework
新增DAMON perf可观测性文档,说明CONFIG选项、debugfs接口、tracepoint和每CPU流水线计数模型,明确debugfs格式不可作为稳定ABI。
7/7
mm/damon/perf: add CONFIG_DAMON_PERF_DEBUG and pipeline health check
新增CONFIG_DAMON_PERF_DEBUG控制pr_debug输出,默认关闭零开销;selftest增加pipeline健康检查,回调为零时定位故障阶段。