v1
2026-09-02
DAMON数据访问属性扩展 · v1
为DAMON增加pgidle_unset探针类型,支持页表访问位和PG_idle作为数据属性监控。
原始补丁链接
子 Patch(17)
1/17
mm/damon/core: introduce DAMON_FILTER_TYPE_PGIDLE_UNSET
在DAMON core中新增pgidle_unset过滤器类型,用于匹配PG_Idle未设置或PTE accessed的页面。
2/17
mm/damon/paddr: support PGIDLE_UNSET probe filter type
在paddr ops中实现PGIDLE_UNSET过滤器支持,复用damon_folio_young()判断页面是否被访问。
3/17
mm/damon/sysfs: support pgidle_unset probe filter type
在DAMON sysfs接口中允许用户通过写’pgidle_unset’设置过滤器类型。
4/17
Docs/mm/damon/design: document pgidle_unset probe filter type
更新DAMON设计文档,添加pgidle_unset过滤器类型说明,并使用列表格式。
5/17
mm/damon/core: introduce damon_prep struct
引入damon_prep结构体定义准备动作,初始动作DAMON_PREP_SET_PGIDLE,用于设置PG_Idle标志。
6/17
mm/damon/core: commit preps
让damon_commit_probes()也提交damon_prep准备动作,避免被忽略。
7/17
mm/damon/core: introduce damon_operations->prep_probes()
在DAMON操作集中新增prep_probes()回调,允许底层执行damon_prep准备动作。
8/17
mm/damon/paddr: support damon_prep
paddr ops实现prep_probes()回调,支持DAMON_PREP_SET_PGIDLE,复用访问检查准备函数。
9/17
mm/damon/sysfs: implement preps directory
在sysfs探头目录下实现preps子目录,用于配置探测准备动作。
10/17
mm/damon/sysfs: implement preps/nr_preps file
在sysfs的preps目录下实现nr_preps文件,用于管理准备动作数量。
11/17
mm/damon/sysfs: create directories for nr_preps writes
实现nr_preps写操作,实际动态创建对应数量的子目录表示准备动作。
12/17
mm/damon/sysfs: implement prep_action file
在prep子目录下实现prep_action文件,用于用户选择具体的准备动作类型。
13/17
mm/damon/sysfs: pass preps to DAMON core
将sysfs中用户设置的prep配置传递给DAMON core,使其真正生效。
14/17
selftests/damon/sysfs.sh: test probe prep sysfs files
为新增的probe prep sysfs文件添加基本文件操作selftest,验证创建和读写。
15/17
Docs/mm/damon/design: document probe preps
更新DAMON设计文档,添加probe preps特性描述。
16/17
Docs/admin-guide/mm/damon/usage: document probe preps sysfs files
更新DAMON使用文档,说明probe preps sysfs文件的使用方法。
17/17
Docs/ABI/damon: document probe prep sysfs files
更新DAMON ABI文档,记录probe prep sysfs文件的接口规范。