xref: /linux/Documentation/ABI/testing/sysfs-kernel-mm-damon (revision 8d2b0853add1d7534dc0794e3c8e0b9e8c4ec640)
1f968c6a4SSeongJae Parkwhat:		/sys/kernel/mm/damon/
2f968c6a4SSeongJae ParkDate:		Mar 2022
3f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4f968c6a4SSeongJae ParkDescription:	Interface for Data Access MONitoring (DAMON).  Contains files
5f968c6a4SSeongJae Park		for controlling DAMON.  For more details on DAMON itself,
6f968c6a4SSeongJae Park		please refer to Documentation/admin-guide/mm/damon/index.rst.
7f968c6a4SSeongJae Park
8f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/
9f968c6a4SSeongJae ParkDate:		Mar 2022
10f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
11f968c6a4SSeongJae ParkDescription:	Interface for privileged users of DAMON.  Contains files for
12f968c6a4SSeongJae Park		controlling DAMON that aimed to be used by privileged users.
13f968c6a4SSeongJae Park
14f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/nr_kdamonds
15f968c6a4SSeongJae ParkDate:		Mar 2022
16f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
17f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
18f968c6a4SSeongJae Park		directories for controlling each DAMON worker thread (kdamond)
19f968c6a4SSeongJae Park		named '0' to 'N-1' under the kdamonds/ directory.
20f968c6a4SSeongJae Park
21f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/state
22f968c6a4SSeongJae ParkDate:		Mar 2022
23f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
24f968c6a4SSeongJae ParkDescription:	Writing 'on' or 'off' to this file makes the kdamond starts or
25f968c6a4SSeongJae Park		stops, respectively.  Reading the file returns the keywords
26adc286e6SSeongJae Park		based on the current status.  Writing 'commit' to this file
27adc286e6SSeongJae Park		makes the kdamond reads the user inputs in the sysfs files
280972913fSSeongJae Park		except 'state' again.  Writing 'commit_schemes_quota_goals' to
290972913fSSeongJae Park		this file makes the kdamond reads the quota goal files again.
300972913fSSeongJae Park		Writing 'update_schemes_stats' to the file updates contents of
310972913fSSeongJae Park		schemes stats files of the kdamond.  Writing
320972913fSSeongJae Park		'update_schemes_tried_regions' to the file updates contents of
330972913fSSeongJae Park		'tried_regions' directory of every scheme directory of this
340972913fSSeongJae Park		kdamond.  Writing 'update_schemes_tried_bytes' to the file
350972913fSSeongJae Park		updates only '.../tried_regions/total_bytes' files of this
36e91b5ccfSSeongJae Park		kdamond.  Writing 'clear_schemes_tried_regions' to the file
3768c4905bSSeongJae Park		removes contents of the 'tried_regions' directory.  Writing
3868c4905bSSeongJae Park		'update_schemes_effective_quotas' to the file updates
3968c4905bSSeongJae Park		'.../quotas/effective_bytes' files of this kdamond.
40f968c6a4SSeongJae Park
41f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/pid
42f968c6a4SSeongJae ParkDate:		Mar 2022
43f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
44f968c6a4SSeongJae ParkDescription:	Reading this file returns the pid of the kdamond if it is
45f968c6a4SSeongJae Park		running.
46f968c6a4SSeongJae Park
47*cc1c6724SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/refresh_ms
48*cc1c6724SSeongJae ParkDate:		Jul 2025
49*cc1c6724SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
50*cc1c6724SSeongJae ParkDescription:	Writing a value to this file sets the time interval for
51*cc1c6724SSeongJae Park		automatic DAMON status file contents update.  Writing '0'
52*cc1c6724SSeongJae Park		disables the update.  Reading this file returns the value.
53*cc1c6724SSeongJae Park
54f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/nr_contexts
55f968c6a4SSeongJae ParkDate:		Mar 2022
56f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
57f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
58f968c6a4SSeongJae Park		directories for controlling each DAMON context named '0' to
59f968c6a4SSeongJae Park		'N-1' under the contexts/ directory.
60f968c6a4SSeongJae Park
612fe60ec9SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/avail_operations
622fe60ec9SSeongJae ParkDate:		Apr 2022
632fe60ec9SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
642fe60ec9SSeongJae ParkDescription:	Reading this file returns the available monitoring operations
652fe60ec9SSeongJae Park		sets on the currently running kernel.
662fe60ec9SSeongJae Park
67f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/operations
68f968c6a4SSeongJae ParkDate:		Mar 2022
69f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
70f968c6a4SSeongJae ParkDescription:	Writing a keyword for a monitoring operations set ('vaddr' for
7191541808SSeongJae Park		virtual address spaces monitoring, 'fvaddr' for fixed virtual
7291541808SSeongJae Park		address ranges monitoring, and 'paddr' for the physical address
7391541808SSeongJae Park		space monitoring) to this file makes the context to use the
7491541808SSeongJae Park		operations set.  Reading the file returns the keyword for the
7591541808SSeongJae Park		operations set the context is set to use.
7691541808SSeongJae Park
7791541808SSeongJae Park		Note that only the operations sets that listed in
7891541808SSeongJae Park		'avail_operations' file are valid inputs.
79f968c6a4SSeongJae Park
80f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/sample_us
81f968c6a4SSeongJae ParkDate:		Mar 2022
82f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
83f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the sampling interval of the
84f968c6a4SSeongJae Park		DAMON context in microseconds as the value.  Reading this file
85f968c6a4SSeongJae Park		returns the value.
86f968c6a4SSeongJae Park
87f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us
88f968c6a4SSeongJae ParkDate:		Mar 2022
89f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
90f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the aggregation interval of
91f968c6a4SSeongJae Park		the DAMON context in microseconds as the value.  Reading this
92f968c6a4SSeongJae Park		file returns the value.
93f968c6a4SSeongJae Park
94f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us
95f968c6a4SSeongJae ParkDate:		Mar 2022
96f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
97f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the update interval of the
98f968c6a4SSeongJae Park		DAMON context in microseconds as the value.  Reading this file
99f968c6a4SSeongJae Park		returns the value.
100f968c6a4SSeongJae Park
101e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/access_bp
102e2b23dc6SSeongJae ParkDate:		Feb 2025
103e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
104e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the monitoring intervals
105e2b23dc6SSeongJae Park		auto-tuning target DAMON-observed access events ratio within
106e2b23dc6SSeongJae Park		the given time interval (aggrs in same directory), in bp
107e2b23dc6SSeongJae Park		(1/10,000).  Reading this file returns the value.
108e2b23dc6SSeongJae Park
109e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/aggrs
110e2b23dc6SSeongJae ParkDate:		Feb 2025
111e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
112e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the time interval to achieve
113e2b23dc6SSeongJae Park		the monitoring intervals auto-tuning target DAMON-observed
114e2b23dc6SSeongJae Park		access events ratio (access_bp in same directory) within.
115e2b23dc6SSeongJae Park		Reading this file returns the value.
116e2b23dc6SSeongJae Park
117e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/min_sample_us
118e2b23dc6SSeongJae ParkDate:		Feb 2025
119e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
120e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the minimum value of
121e2b23dc6SSeongJae Park		auto-tuned sampling interval in microseconds.  Reading this
122e2b23dc6SSeongJae Park		file returns the value.
123e2b23dc6SSeongJae Park
124e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/max_sample_us
125e2b23dc6SSeongJae ParkDate:		Feb 2025
126e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
127e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the maximum value of
128e2b23dc6SSeongJae Park		auto-tuned sampling interval in microseconds.  Reading this
129e2b23dc6SSeongJae Park		file returns the value.
130e2b23dc6SSeongJae Park
131f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min
132f968c6a4SSeongJae Park
133f968c6a4SSeongJae ParkWDate:		Mar 2022
134f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
135f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the minimum number of
136f968c6a4SSeongJae Park		monitoring regions of the DAMON context as the value.  Reading
137f968c6a4SSeongJae Park		this file returns the value.
138f968c6a4SSeongJae Park
139f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max
140f968c6a4SSeongJae ParkDate:		Mar 2022
141f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
142f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the maximum number of
143f968c6a4SSeongJae Park		monitoring regions of the DAMON context as the value.  Reading
144f968c6a4SSeongJae Park		this file returns the value.
145f968c6a4SSeongJae Park
146f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/nr_targets
147f968c6a4SSeongJae ParkDate:		Mar 2022
148f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
149f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
150f968c6a4SSeongJae Park		directories for controlling each DAMON target of the context
151f968c6a4SSeongJae Park		named '0' to 'N-1' under the contexts/ directory.
152f968c6a4SSeongJae Park
153f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target
154f968c6a4SSeongJae ParkDate:		Mar 2022
155f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
156f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the pid of
157f968c6a4SSeongJae Park		the target process if the context is for virtual address spaces
158f968c6a4SSeongJae Park		monitoring, respectively.
159f968c6a4SSeongJae Park
160f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions
161f968c6a4SSeongJae ParkDate:		Mar 2022
162f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
163f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
164f968c6a4SSeongJae Park		directories for setting each DAMON target memory region of the
165f968c6a4SSeongJae Park		context named '0' to 'N-1' under the regions/ directory.  In
166f968c6a4SSeongJae Park		case of the virtual address space monitoring, DAMON
167f968c6a4SSeongJae Park		automatically sets the target memory region based on the target
168f968c6a4SSeongJae Park		processes' mappings.
169f968c6a4SSeongJae Park
170f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start
171f968c6a4SSeongJae ParkDate:		Mar 2022
172f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
173f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the start
174f968c6a4SSeongJae Park		address of the monitoring region.
175f968c6a4SSeongJae Park
176f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end
177f968c6a4SSeongJae ParkDate:		Mar 2022
178f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
179f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the end
180f968c6a4SSeongJae Park		address of the monitoring region.
181f968c6a4SSeongJae Park
182f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes
183f968c6a4SSeongJae ParkDate:		Mar 2022
184f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
185f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
186f968c6a4SSeongJae Park		directories for controlling each DAMON-based operation scheme
187f968c6a4SSeongJae Park		of the context named '0' to 'N-1' under the schemes/ directory.
188f968c6a4SSeongJae Park
189f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action
190f968c6a4SSeongJae ParkDate:		Mar 2022
191f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
192f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the action
193f968c6a4SSeongJae Park		of the scheme.
194f968c6a4SSeongJae Park
195e36287c6SHyeongtak JiWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/target_nid
196e36287c6SHyeongtak JiDate:		Jun 2024
197e36287c6SHyeongtak JiContact:	SeongJae Park <sj@kernel.org>
198e36287c6SHyeongtak JiDescription:	Action's target NUMA node id.  Supported by only relevant
199e36287c6SHyeongtak Ji		actions.
200e36287c6SHyeongtak Ji
201d57d36b5SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us
202d57d36b5SSeongJae ParkDate:		Sep 2023
203d57d36b5SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
204d57d36b5SSeongJae ParkDescription:	Writing a value to this file sets the action apply interval of
205d57d36b5SSeongJae Park		the scheme in microseconds.  Reading this file returns the
206d57d36b5SSeongJae Park		value.
207d57d36b5SSeongJae Park
208f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min
209f968c6a4SSeongJae ParkDate:		Mar 2022
210f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
211ebab9426SBjorn HelgaasDescription:	Writing to and reading from this file sets and gets the minimum
212f968c6a4SSeongJae Park		size of the scheme's target regions in bytes.
213f968c6a4SSeongJae Park
214f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max
215f968c6a4SSeongJae ParkDate:		Mar 2022
216f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
217f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the maximum
218f968c6a4SSeongJae Park		size of the scheme's target regions in bytes.
219f968c6a4SSeongJae Park
220f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min
221f968c6a4SSeongJae ParkDate:		Mar 2022
222f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
223f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the manimum
224f968c6a4SSeongJae Park		'nr_accesses' of the scheme's target regions.
225f968c6a4SSeongJae Park
226f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max
227f968c6a4SSeongJae ParkDate:		Mar 2022
228f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
229f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the maximum
230f968c6a4SSeongJae Park		'nr_accesses' of the scheme's target regions.
231f968c6a4SSeongJae Park
232f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min
233f968c6a4SSeongJae ParkDate:		Mar 2022
234f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
235f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the minimum
236f968c6a4SSeongJae Park		'age' of the scheme's target regions.
237f968c6a4SSeongJae Park
238f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max
239f968c6a4SSeongJae ParkDate:		Mar 2022
240f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
241f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the maximum
242f968c6a4SSeongJae Park		'age' of the scheme's target regions.
243f968c6a4SSeongJae Park
244f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms
245f968c6a4SSeongJae ParkDate:		Mar 2022
246f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
247f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the time
248f968c6a4SSeongJae Park		quota of the scheme in milliseconds.
249f968c6a4SSeongJae Park
250f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes
251f968c6a4SSeongJae ParkDate:		Mar 2022
252f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
253f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the size
254f968c6a4SSeongJae Park		quota of the scheme in bytes.
255f968c6a4SSeongJae Park
25668c4905bSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/effective_bytes
25768c4905bSSeongJae ParkDate:		Feb 2024
25868c4905bSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
25968c4905bSSeongJae ParkDescription:	Reading from this file gets the effective size quota of the
26068c4905bSSeongJae Park		scheme in bytes, which adjusted for the time quota and goals.
26168c4905bSSeongJae Park
262f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms
263f968c6a4SSeongJae ParkDate:		Mar 2022
264f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
265f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the quotas
266f968c6a4SSeongJae Park		charge reset interval of the scheme in milliseconds.
267f968c6a4SSeongJae Park
2680972913fSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals
2690972913fSSeongJae ParkDate:		Nov 2023
2700972913fSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
2710972913fSSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
2720972913fSSeongJae Park		directories for setting automatic tuning of the scheme's
2730972913fSSeongJae Park		aggressiveness named '0' to 'N-1' under the goals/ directory.
2740972913fSSeongJae Park
275adc3908bSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_metric
276adc3908bSSeongJae ParkDate:		Feb 2024
277adc3908bSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
278adc3908bSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the quota
279adc3908bSSeongJae Park		auto-tuning goal metric.
280adc3908bSSeongJae Park
2810972913fSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value
2820972913fSSeongJae ParkDate:		Nov 2023
2830972913fSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
2840972913fSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the target
2850972913fSSeongJae Park		value of the goal metric.
2860972913fSSeongJae Park
2870972913fSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value
2880972913fSSeongJae ParkDate:		Nov 2023
2890972913fSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
2900972913fSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the current
2910972913fSSeongJae Park		value of the goal metric.
2920972913fSSeongJae Park
293f77cb462SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/nid
294f77cb462SSeongJae ParkDate:		Apr 2025
295f77cb462SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
296f77cb462SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the nid
297f77cb462SSeongJae Park		parameter of the goal.
298f77cb462SSeongJae Park
299f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil
300f968c6a4SSeongJae ParkDate:		Mar 2022
301f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
302f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the
303f968c6a4SSeongJae Park		under-quota limit regions prioritization weight for 'size' in
304f968c6a4SSeongJae Park		permil.
305f968c6a4SSeongJae Park
306f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil
307f968c6a4SSeongJae ParkDate:		Mar 2022
308f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
309f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the
310f968c6a4SSeongJae Park		under-quota limit regions prioritization weight for
311f968c6a4SSeongJae Park		'nr_accesses' in permil.
312f968c6a4SSeongJae Park
313f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil
314f968c6a4SSeongJae ParkDate:		Mar 2022
315f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
316f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the
317f968c6a4SSeongJae Park		under-quota limit regions prioritization weight for 'age' in
318f968c6a4SSeongJae Park		permil.
319f968c6a4SSeongJae Park
320f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric
321f968c6a4SSeongJae ParkDate:		Mar 2022
322f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
323f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the metric
324f968c6a4SSeongJae Park		of the watermarks for the scheme.  The writable/readable
325f968c6a4SSeongJae Park		keywords for this file are 'none' for disabling the watermarks
326f968c6a4SSeongJae Park		feature, or 'free_mem_rate' for the system's global free memory
327f968c6a4SSeongJae Park		rate in permil.
328f968c6a4SSeongJae Park
329f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us
330f968c6a4SSeongJae ParkDate:		Mar 2022
331f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
332f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the metric
333f968c6a4SSeongJae Park		check interval of the watermarks for the scheme in
334f968c6a4SSeongJae Park		microseconds.
335f968c6a4SSeongJae Park
336f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high
337f968c6a4SSeongJae ParkDate:		Mar 2022
338f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
339f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the high
340f968c6a4SSeongJae Park		watermark of the scheme in permil.
341f968c6a4SSeongJae Park
342f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid
343f968c6a4SSeongJae ParkDate:		Mar 2022
344f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
345f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the mid
346f968c6a4SSeongJae Park		watermark of the scheme in permil.
347f968c6a4SSeongJae Park
348f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low
349f968c6a4SSeongJae ParkDate:		Mar 2022
350f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
351f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the low
352f968c6a4SSeongJae Park		watermark of the scheme in permil.
353f968c6a4SSeongJae Park
354497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/nr_filters
355497b099dSSeongJae ParkDate:		Dec 2022
356497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
357497b099dSSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
358497b099dSSeongJae Park		directories for setting filters of the scheme named '0' to
359497b099dSSeongJae Park		'N-1' under the filters/ directory.
360497b099dSSeongJae Park
361497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/type
362497b099dSSeongJae ParkDate:		Dec 2022
363497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
364497b099dSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the type of
3652beb97fcSSeongJae Park		the memory of the interest.  'anon' for anonymous pages,
366eedbd23dSSeongJae Park		'memcg' for specific memory cgroup, 'young' for young pages,
367eedbd23dSSeongJae Park		'addr' for address range (an open-ended interval), or 'target'
368eedbd23dSSeongJae Park		for DAMON monitoring target can be written and read.
369497b099dSSeongJae Park
370497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/memcg_path
371497b099dSSeongJae ParkDate:		Dec 2022
372497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
373497b099dSSeongJae ParkDescription:	If 'memcg' is written to the 'type' file, writing to and
374497b099dSSeongJae Park		reading from this file sets and gets the path to the memory
375497b099dSSeongJae Park		cgroup of the interest.
376497b099dSSeongJae Park
3772beb97fcSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_start
3782beb97fcSSeongJae ParkDate:		Jul 2023
3792beb97fcSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
3802beb97fcSSeongJae ParkDescription:	If 'addr' is written to the 'type' file, writing to or reading
3812beb97fcSSeongJae Park		from this file sets or gets the start address of the address
3822beb97fcSSeongJae Park		range for the filter.
3832beb97fcSSeongJae Park
3842beb97fcSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_end
3852beb97fcSSeongJae ParkDate:		Jul 2023
3862beb97fcSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
3872beb97fcSSeongJae ParkDescription:	If 'addr' is written to the 'type' file, writing to or reading
3882beb97fcSSeongJae Park		from this file sets or gets the end address of the address
3892beb97fcSSeongJae Park		range for the filter.
3902beb97fcSSeongJae Park
391807db03cSUsama ArifWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/min
392807db03cSUsama ArifDate:		Feb 2025
393807db03cSUsama ArifContact:	SeongJae Park <sj@kernel.org>
394807db03cSUsama ArifDescription:	If 'hugepage_size' is written to the 'type' file, writing to
395807db03cSUsama Arif		or reading from this file sets or gets the minimum size of the
396807db03cSUsama Arif		hugepage for the filter.
397807db03cSUsama Arif
398807db03cSUsama ArifWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/max
399807db03cSUsama ArifDate:		Feb 2025
400807db03cSUsama ArifContact:	SeongJae Park <sj@kernel.org>
401807db03cSUsama ArifDescription:	If 'hugepage_size' is written to the 'type' file, writing to
402807db03cSUsama Arif		or reading from this file sets or gets the maximum size of the
403807db03cSUsama Arif		hugepage for the filter.
404807db03cSUsama Arif
405d3d21d91SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx
406d3d21d91SSeongJae ParkDate:		Dec 2022
407d3d21d91SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
408d3d21d91SSeongJae ParkDescription:	If 'target' is written to the 'type' file, writing to or
409d3d21d91SSeongJae Park		reading from this file sets or gets the index of the DAMON
410d3d21d91SSeongJae Park		monitoring target of the interest.
4112beb97fcSSeongJae Park
412497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/matching
413497b099dSSeongJae ParkDate:		Dec 2022
414497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4151c2ac23dSSeongJae ParkDescription:	Writing 'Y' or 'N' to this file sets whether the filter is for
4161c2ac23dSSeongJae Park		the memory of the 'type', or all except the 'type'.
4171c2ac23dSSeongJae Park
4181c2ac23dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/allow
4191c2ac23dSSeongJae ParkDate:		Jan 2025
4201c2ac23dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4211c2ac23dSSeongJae ParkDescription:	Writing 'Y' or 'N' to this file sets whether to allow or reject
4221c2ac23dSSeongJae Park		applying the scheme's action to the memory that satisfies the
4231c2ac23dSSeongJae Park		'type' and the 'matching' of the directory.
424497b099dSSeongJae Park
425899e4c14SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters
426899e4c14SSeongJae ParkDate:		Feb 2025
427899e4c14SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
428899e4c14SSeongJae ParkDescription:	Directory for DAMON core layer-handled DAMOS filters.  Files
429899e4c14SSeongJae Park		under this directory works same to those of
430899e4c14SSeongJae Park		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
431899e4c14SSeongJae Park		directory.
432899e4c14SSeongJae Park
433899e4c14SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters
434899e4c14SSeongJae ParkDate:		Feb 2025
435899e4c14SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
436899e4c14SSeongJae ParkDescription:	Directory for DAMON operations set layer-handled DAMOS filters.
437899e4c14SSeongJae Park		Files under this directory works same to those of
438899e4c14SSeongJae Park		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
439899e4c14SSeongJae Park		directory.
440899e4c14SSeongJae Park
441b9dfe8afSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/nr_dests
442b9dfe8afSSeongJae ParkDate:		Jul 2025
443b9dfe8afSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
444b9dfe8afSSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
445b9dfe8afSSeongJae Park		directories for setting action destinations of the scheme named
446b9dfe8afSSeongJae Park		'0' to 'N-1' under the dests/ directory.
447b9dfe8afSSeongJae Park
448b9dfe8afSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/id
449b9dfe8afSSeongJae ParkDate:		Jul 2025
450b9dfe8afSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
451b9dfe8afSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the id of
452b9dfe8afSSeongJae Park		the DAMOS action destination.  For DAMOS_MIGRATE_{HOT,COLD}
453b9dfe8afSSeongJae Park		actions, the destination node's node id can be written and
454b9dfe8afSSeongJae Park		read.
455b9dfe8afSSeongJae Park
456b9dfe8afSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/weight
457b9dfe8afSSeongJae ParkDate:		Jul 2025
458b9dfe8afSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
459b9dfe8afSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the weight
460b9dfe8afSSeongJae Park		of the DAMOS action destination to select as the destination of
461b9dfe8afSSeongJae Park		each action among the destinations.
462b9dfe8afSSeongJae Park
463f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried
464f968c6a4SSeongJae ParkDate:		Mar 2022
465f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
466f968c6a4SSeongJae ParkDescription:	Reading this file returns the number of regions that the action
467f968c6a4SSeongJae Park		of the scheme has tried to be applied.
468f968c6a4SSeongJae Park
469f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried
470f968c6a4SSeongJae ParkDate:		Mar 2022
471f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
472f968c6a4SSeongJae ParkDescription:	Reading this file returns the total size of regions that the
473f968c6a4SSeongJae Park		action of the scheme has tried to be applied in bytes.
474f968c6a4SSeongJae Park
475f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied
476f968c6a4SSeongJae ParkDate:		Mar 2022
477f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
478f968c6a4SSeongJae ParkDescription:	Reading this file returns the number of regions that the action
479f968c6a4SSeongJae Park		of the scheme has successfully applied.
480f968c6a4SSeongJae Park
481f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied
482f968c6a4SSeongJae ParkDate:		Mar 2022
483f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
484f968c6a4SSeongJae ParkDescription:	Reading this file returns the total size of regions that the
485f968c6a4SSeongJae Park		action of the scheme has successfully applied in bytes.
486f968c6a4SSeongJae Park
487e1a1d377SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed
488e1a1d377SSeongJae ParkDate:		Dec 2024
489e1a1d377SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
490e1a1d377SSeongJae ParkDescription:	Reading this file returns the total size of memory that passed
491e1a1d377SSeongJae Park		DAMON operations layer-handled filters of the scheme in bytes.
492e1a1d377SSeongJae Park
493f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds
494f968c6a4SSeongJae ParkDate:		Mar 2022
495f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
496f968c6a4SSeongJae ParkDescription:	Reading this file returns the number of the exceed events of
497f968c6a4SSeongJae Park		the scheme's quotas.
4981b0006daSSeongJae Park
499e91b5ccfSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes
500e91b5ccfSSeongJae ParkDate:		Jul 2023
501e91b5ccfSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
502e91b5ccfSSeongJae ParkDescription:	Reading this file returns the total amount of memory that
503e91b5ccfSSeongJae Park		corresponding DAMON-based Operation Scheme's action has tried
504e91b5ccfSSeongJae Park		to be applied.
505e91b5ccfSSeongJae Park
5061b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start
5071b0006daSSeongJae ParkDate:		Oct 2022
5081b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
5091b0006daSSeongJae ParkDescription:	Reading this file returns the start address of a memory region
5101b0006daSSeongJae Park		that corresponding DAMON-based Operation Scheme's action has
5111b0006daSSeongJae Park		tried to be applied.
5121b0006daSSeongJae Park
5131b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end
5141b0006daSSeongJae ParkDate:		Oct 2022
5151b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
5161b0006daSSeongJae ParkDescription:	Reading this file returns the end address of a memory region
5171b0006daSSeongJae Park		that corresponding DAMON-based Operation Scheme's action has
5181b0006daSSeongJae Park		tried to be applied.
5191b0006daSSeongJae Park
5201b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/nr_accesses
5211b0006daSSeongJae ParkDate:		Oct 2022
5221b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
5231b0006daSSeongJae ParkDescription:	Reading this file returns the 'nr_accesses' of a memory region
5241b0006daSSeongJae Park		that corresponding DAMON-based Operation Scheme's action has
5251b0006daSSeongJae Park		tried to be applied.
5261b0006daSSeongJae Park
5271b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/age
5281b0006daSSeongJae ParkDate:		Oct 2022
5291b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
5301b0006daSSeongJae ParkDescription:	Reading this file returns the 'age' of a memory region that
5311b0006daSSeongJae Park		corresponding DAMON-based Operation Scheme's action has tried
5321b0006daSSeongJae Park		to be applied.
533f1de9e69SSeongJae Park
534f1de9e69SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed
535f1de9e69SSeongJae ParkDate:		Dec 2024
536f1de9e69SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
537f1de9e69SSeongJae ParkDescription:	Reading this file returns the size of the memory in the region
538f1de9e69SSeongJae Park		that passed DAMON operations layer-handled filters of the
539f1de9e69SSeongJae Park		scheme in bytes.
540