xref: /linux/Documentation/ABI/testing/sysfs-kernel-mm-damon (revision ac59b45efd3cec28860f7d50816b888650a2eb02)
1what:		/sys/kernel/mm/damon/
2Date:		Mar 2022
3Contact:	SJ Park <sj@kernel.org>
4Description:	Interface for Data Access MONitoring (DAMON).  Contains files
5		for controlling DAMON.  For more details on DAMON itself,
6		please refer to Documentation/admin-guide/mm/damon/index.rst.
7
8What:		/sys/kernel/mm/damon/admin/
9Date:		Mar 2022
10Contact:	SJ Park <sj@kernel.org>
11Description:	Interface for privileged users of DAMON.  Contains files for
12		controlling DAMON that aimed to be used by privileged users.
13
14What:		/sys/kernel/mm/damon/admin/kdamonds/nr_kdamonds
15Date:		Mar 2022
16Contact:	SJ Park <sj@kernel.org>
17Description:	Writing a number 'N' to this file creates the number of
18		directories for controlling each DAMON worker thread (kdamond)
19		named '0' to 'N-1' under the kdamonds/ directory.
20
21What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/state
22Date:		Mar 2022
23Contact:	SJ Park <sj@kernel.org>
24Description:	Writing 'on' or 'off' to this file makes the kdamond starts or
25		stops, respectively.  Reading the file returns the keywords
26		based on the current status.  Writing 'commit' to this file
27		makes the kdamond reads the user inputs in the sysfs files
28		except 'state' again.  Writing 'commit_schemes_quota_goals' to
29		this file makes the kdamond reads the quota goal files again.
30		Writing 'update_schemes_stats' to the file updates contents of
31		schemes stats files of the kdamond.  Writing
32		'update_schemes_tried_regions' to the file updates contents of
33		'tried_regions' directory of every scheme directory of this
34		kdamond.  Writing 'update_schemes_tried_bytes' to the file
35		updates only '.../tried_regions/total_bytes' files of this
36		kdamond.  Writing 'clear_schemes_tried_regions' to the file
37		removes contents of the 'tried_regions' directory.  Writing
38		'update_schemes_effective_quotas' to the file updates
39		'.../quotas/effective_bytes' files of this kdamond.
40
41What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/pid
42Date:		Mar 2022
43Contact:	SJ Park <sj@kernel.org>
44Description:	Reading this file returns the pid of the kdamond if it is
45		running.
46
47What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/refresh_ms
48Date:		Jul 2025
49Contact:	SJ Park <sj@kernel.org>
50Description:	Writing a value to this file sets the time interval for
51		automatic DAMON status file contents update.  Writing '0'
52		disables the update.  Reading this file returns the value.
53
54What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/nr_contexts
55Date:		Mar 2022
56Contact:	SJ Park <sj@kernel.org>
57Description:	Writing a number 'N' to this file creates the number of
58		directories for controlling each DAMON context named '0' to
59		'N-1' under the contexts/ directory.
60
61What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/avail_operations
62Date:		Apr 2022
63Contact:	SJ Park <sj@kernel.org>
64Description:	Reading this file returns the available monitoring operations
65		sets on the currently running kernel.
66
67What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/operations
68Date:		Mar 2022
69Contact:	SJ Park <sj@kernel.org>
70Description:	Writing a keyword for a monitoring operations set ('vaddr' for
71		virtual address spaces monitoring, 'fvaddr' for fixed virtual
72		address ranges monitoring, and 'paddr' for the physical address
73		space monitoring) to this file makes the context to use the
74		operations set.  Reading the file returns the keyword for the
75		operations set the context is set to use.
76
77		Note that only the operations sets that listed in
78		'avail_operations' file are valid inputs.
79
80What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/addr_unit
81Date:		Aug 2025
82Contact:	SJ Park <sj@kernel.org>
83Description:	Writing an integer to this file sets the 'address unit'
84		parameter of the given operations set of the context.  Reading
85		the file returns the last-written 'address unit' value.
86
87What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/pause
88Date:		Mar 2026
89Contact:	SJ Park <sj@kernel.org>
90Description:	Writing a boolean keyword to this file sets the 'pause' request
91		parameter for the context.  Reading the file returns the
92		last-written 'pause' value.
93
94What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/sample_us
95Date:		Mar 2022
96Contact:	SJ Park <sj@kernel.org>
97Description:	Writing a value to this file sets the sampling interval of the
98		DAMON context in microseconds as the value.  Reading this file
99		returns the value.
100
101What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us
102Date:		Mar 2022
103Contact:	SJ Park <sj@kernel.org>
104Description:	Writing a value to this file sets the aggregation interval of
105		the DAMON context in microseconds as the value.  Reading this
106		file returns the value.
107
108What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us
109Date:		Mar 2022
110Contact:	SJ Park <sj@kernel.org>
111Description:	Writing a value to this file sets the update interval of the
112		DAMON context in microseconds as the value.  Reading this file
113		returns the value.
114
115What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/access_bp
116Date:		Feb 2025
117Contact:	SJ Park <sj@kernel.org>
118Description:	Writing a value to this file sets the monitoring intervals
119		auto-tuning target DAMON-observed access events ratio within
120		the given time interval (aggrs in same directory), in bp
121		(1/10,000).  Reading this file returns the value.
122
123What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/aggrs
124Date:		Feb 2025
125Contact:	SJ Park <sj@kernel.org>
126Description:	Writing a value to this file sets the time interval to achieve
127		the monitoring intervals auto-tuning target DAMON-observed
128		access events ratio (access_bp in same directory) within.
129		Reading this file returns the value.
130
131What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/min_sample_us
132Date:		Feb 2025
133Contact:	SJ Park <sj@kernel.org>
134Description:	Writing a value to this file sets the minimum value of
135		auto-tuned sampling interval in microseconds.  Reading this
136		file returns the value.
137
138What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/max_sample_us
139Date:		Feb 2025
140Contact:	SJ Park <sj@kernel.org>
141Description:	Writing a value to this file sets the maximum value of
142		auto-tuned sampling interval in microseconds.  Reading this
143		file returns the value.
144
145What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min
146
147WDate:		Mar 2022
148Contact:	SJ Park <sj@kernel.org>
149Description:	Writing a value to this file sets the minimum number of
150		monitoring regions of the DAMON context as the value.  Reading
151		this file returns the value.
152
153What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max
154Date:		Mar 2022
155Contact:	SJ Park <sj@kernel.org>
156Description:	Writing a value to this file sets the maximum number of
157		monitoring regions of the DAMON context as the value.  Reading
158		this file returns the value.
159
160What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/probes/nr_probes
161Date:		May 2026
162Contact:	SJ Park <sj@kernel.org>
163Description:	Writing a number 'N' to this file creates the number of
164		directories for each DAMON probe named '0' to 'N-1' under the
165		probes/ directory.
166
167What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/probes/<P>/weight
168Date:		Jul 2026
169Contact:	SJ Park <sj@kernel.org>
170Description:	Writing to and reading from this file sets and gets the
171		per-probe attribute weight.
172
173What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/probes/<P>/filters/nr_filters
174Date:		May 2026
175Contact:	SJ Park <sj@kernel.org>
176Description:	Writing a number 'N' to this file creates the number of
177		directories for each DAMON probe filter named '0' to 'N-1'
178		under the filters/ directory.
179
180What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/probes/<P>/filters/<F>/type
181Date:		May 2026
182Contact:	SJ Park <sj@kernel.org>
183Description:	Writing to and reading from this file sets and gets the type of
184		the memory of the interest.
185
186What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/probes/<P>/filters/<F>/path
187Date:		May 2026
188Contact:	SJ Park <sj@kernel.org>
189Description:	If 'memcg' is written to the 'type' file, writing to and
190		reading from this file sets and gets the path to the memory
191		cgroup of the interest.
192
193What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/probes/<P>/filters/<F>/matching
194Date:		May 2026
195Contact:	SJ Park <sj@kernel.org>
196Description:	Writing 'Y' or 'N' to this file sets whether the filter is for
197		the memory of the 'type', or all except the 'type'.
198
199What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/probes/<P>/filters/<F>/allow
200Date:		May 2026
201Contact:	SJ Park <sj@kernel.org>
202Description:	Writing 'Y' or 'N' to this file sets whether to allow or reject
203		hitting the probe for the memory that satisfies the 'type' and
204		the 'matching' of the directory.
205
206What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/nr_targets
207Date:		Mar 2022
208Contact:	SJ Park <sj@kernel.org>
209Description:	Writing a number 'N' to this file creates the number of
210		directories for controlling each DAMON target of the context
211		named '0' to 'N-1' under the contexts/ directory.
212
213What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target
214Date:		Mar 2022
215Contact:	SJ Park <sj@kernel.org>
216Description:	Writing to and reading from this file sets and gets the pid of
217		the target process if the context is for virtual address spaces
218		monitoring, respectively.
219
220What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/obsolete_target
221Date:		Oct 2025
222Contact:	SJ Park <sj@kernel.org>
223Description:	Writing to and reading from this file sets and gets the
224		obsoleteness of the matching parameters commit destination
225		target.
226
227What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions
228Date:		Mar 2022
229Contact:	SJ Park <sj@kernel.org>
230Description:	Writing a number 'N' to this file creates the number of
231		directories for setting each DAMON target memory region of the
232		context named '0' to 'N-1' under the regions/ directory.  In
233		case of the virtual address space monitoring, DAMON
234		automatically sets the target memory region based on the target
235		processes' mappings.
236
237What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start
238Date:		Mar 2022
239Contact:	SJ Park <sj@kernel.org>
240Description:	Writing to and reading from this file sets and gets the start
241		address of the monitoring region.
242
243What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end
244Date:		Mar 2022
245Contact:	SJ Park <sj@kernel.org>
246Description:	Writing to and reading from this file sets and gets the end
247		address of the monitoring region.
248
249What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes
250Date:		Mar 2022
251Contact:	SJ Park <sj@kernel.org>
252Description:	Writing a number 'N' to this file creates the number of
253		directories for controlling each DAMON-based operation scheme
254		of the context named '0' to 'N-1' under the schemes/ directory.
255
256What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action
257Date:		Mar 2022
258Contact:	SJ Park <sj@kernel.org>
259Description:	Writing to and reading from this file sets and gets the action
260		of the scheme.
261
262What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/target_nid
263Date:		Jun 2024
264Contact:	SJ Park <sj@kernel.org>
265Description:	Action's target NUMA node id.  Supported by only relevant
266		actions.
267
268What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us
269Date:		Sep 2023
270Contact:	SJ Park <sj@kernel.org>
271Description:	Writing a value to this file sets the action apply interval of
272		the scheme in microseconds.  Reading this file returns the
273		value.
274
275What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min
276Date:		Mar 2022
277Contact:	SJ Park <sj@kernel.org>
278Description:	Writing to and reading from this file sets and gets the minimum
279		size of the scheme's target regions in bytes.
280
281What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max
282Date:		Mar 2022
283Contact:	SJ Park <sj@kernel.org>
284Description:	Writing to and reading from this file sets and gets the maximum
285		size of the scheme's target regions in bytes.
286
287What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min
288Date:		Mar 2022
289Contact:	SJ Park <sj@kernel.org>
290Description:	Writing to and reading from this file sets and gets the manimum
291		'nr_accesses' of the scheme's target regions.
292
293What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max
294Date:		Mar 2022
295Contact:	SJ Park <sj@kernel.org>
296Description:	Writing to and reading from this file sets and gets the maximum
297		'nr_accesses' of the scheme's target regions.
298
299What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min
300Date:		Mar 2022
301Contact:	SJ Park <sj@kernel.org>
302Description:	Writing to and reading from this file sets and gets the minimum
303		'age' of the scheme's target regions.
304
305What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max
306Date:		Mar 2022
307Contact:	SJ Park <sj@kernel.org>
308Description:	Writing to and reading from this file sets and gets the maximum
309		'age' of the scheme's target regions.
310
311What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms
312Date:		Mar 2022
313Contact:	SJ Park <sj@kernel.org>
314Description:	Writing to and reading from this file sets and gets the time
315		quota of the scheme in milliseconds.
316
317What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes
318Date:		Mar 2022
319Contact:	SJ Park <sj@kernel.org>
320Description:	Writing to and reading from this file sets and gets the size
321		quota of the scheme in bytes.
322
323What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/effective_bytes
324Date:		Feb 2024
325Contact:	SJ Park <sj@kernel.org>
326Description:	Reading from this file gets the effective size quota of the
327		scheme in bytes, which adjusted for the time quota and goals.
328
329What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms
330Date:		Mar 2022
331Contact:	SJ Park <sj@kernel.org>
332Description:	Writing to and reading from this file sets and gets the quotas
333		charge reset interval of the scheme in milliseconds.
334
335What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals
336Date:		Nov 2023
337Contact:	SJ Park <sj@kernel.org>
338Description:	Writing a number 'N' to this file creates the number of
339		directories for setting automatic tuning of the scheme's
340		aggressiveness named '0' to 'N-1' under the goals/ directory.
341
342What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_metric
343Date:		Feb 2024
344Contact:	SJ Park <sj@kernel.org>
345Description:	Writing to and reading from this file sets and gets the quota
346		auto-tuning goal metric.
347
348What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value
349Date:		Nov 2023
350Contact:	SJ Park <sj@kernel.org>
351Description:	Writing to and reading from this file sets and gets the target
352		value of the goal metric.
353
354What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value
355Date:		Nov 2023
356Contact:	SJ Park <sj@kernel.org>
357Description:	Writing to and reading from this file sets and gets the current
358		value of the goal metric.
359
360What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/nid
361Date:		Apr 2025
362Contact:	SJ Park <sj@kernel.org>
363Description:	Writing to and reading from this file sets and gets the nid
364		parameter of the goal.
365
366What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/path
367Date:		Oct 2025
368Contact:	SJ Park <sj@kernel.org>
369Description:	Writing to and reading from this file sets and gets the path
370		parameter of the goal.
371
372What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goal_tuner
373Date:		Mar 2026
374Contact:	SJ Park <sj@kernel.org>
375Description:	Writing to and reading from this file sets and gets the
376		goal-based effective quota auto-tuning algorithm to use.
377
378What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/fail_charge_num
379Date:		Mar 2026
380Contact:	SJ Park <sj@kernel.org>
381Description:	Writing to and reading from this file sets and gets the
382		action-failed memory quota charging ratio numerator.
383
384What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/fail_charge_denom
385Date:		Mar 2026
386Contact:	SJ Park <sj@kernel.org>
387Description:	Writing to and reading from this file sets and gets the
388		action-failed memory quota charging ratio denominator.
389
390What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil
391Date:		Mar 2022
392Contact:	SJ Park <sj@kernel.org>
393Description:	Writing to and reading from this file sets and gets the
394		under-quota limit regions prioritization weight for 'size' in
395		permil.
396
397What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil
398Date:		Mar 2022
399Contact:	SJ Park <sj@kernel.org>
400Description:	Writing to and reading from this file sets and gets the
401		under-quota limit regions prioritization weight for
402		'nr_accesses' in permil.
403
404What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil
405Date:		Mar 2022
406Contact:	SJ Park <sj@kernel.org>
407Description:	Writing to and reading from this file sets and gets the
408		under-quota limit regions prioritization weight for 'age' in
409		permil.
410
411What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric
412Date:		Mar 2022
413Contact:	SJ Park <sj@kernel.org>
414Description:	Writing to and reading from this file sets and gets the metric
415		of the watermarks for the scheme.  The writable/readable
416		keywords for this file are 'none' for disabling the watermarks
417		feature, or 'free_mem_rate' for the system's global free memory
418		rate in permil.
419
420What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us
421Date:		Mar 2022
422Contact:	SJ Park <sj@kernel.org>
423Description:	Writing to and reading from this file sets and gets the metric
424		check interval of the watermarks for the scheme in
425		microseconds.
426
427What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high
428Date:		Mar 2022
429Contact:	SJ Park <sj@kernel.org>
430Description:	Writing to and reading from this file sets and gets the high
431		watermark of the scheme in permil.
432
433What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid
434Date:		Mar 2022
435Contact:	SJ Park <sj@kernel.org>
436Description:	Writing to and reading from this file sets and gets the mid
437		watermark of the scheme in permil.
438
439What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low
440Date:		Mar 2022
441Contact:	SJ Park <sj@kernel.org>
442Description:	Writing to and reading from this file sets and gets the low
443		watermark of the scheme in permil.
444
445What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters
446Date:		Feb 2025
447Contact:	SJ Park <sj@kernel.org>
448Description:	Directory for DAMON core layer-handled DAMOS filters.
449
450What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/nr_filters
451Date:		Feb 2025
452Contact:	SJ Park <sj@kernel.org>
453Description:	Writing a number 'N' to this file creates the number of
454		directories for setting filters of the scheme named '0' to
455		'N-1' under the core_filters/ directory.
456
457What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/type
458Date:		Feb 2025
459Contact:	SJ Park <sj@kernel.org>
460Description:	Writing to and reading from this file sets and gets the type of
461		the memory of the interest.  'anon' for anonymous pages,
462		'memcg' for specific memory cgroup, 'young' for young pages,
463		'addr' for address range (an open-ended interval), or 'target'
464		for DAMON monitoring target can be written and read.
465
466What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/memcg_path
467Date:		Feb 2025
468Contact:	SJ Park <sj@kernel.org>
469Description:	If 'memcg' is written to the 'type' file, writing to and
470		reading from this file sets and gets the path to the memory
471		cgroup of the interest.
472
473What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/addr_start
474Date:		Feb 2025
475Contact:	SJ Park <sj@kernel.org>
476Description:	If 'addr' is written to the 'type' file, writing to or reading
477		from this file sets or gets the start address of the address
478		range for the filter.
479
480What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/addr_end
481Date:		Feb 2025
482Contact:	SJ Park <sj@kernel.org>
483Description:	If 'addr' is written to the 'type' file, writing to or reading
484		from this file sets or gets the end address of the address
485		range for the filter.
486
487What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/min
488Date:		Feb 2025
489Contact:	SJ Park <sj@kernel.org>
490Description:	If 'hugepage_size' is written to the 'type' file, writing to
491		or reading from this file sets or gets the minimum size of the
492		hugepage for the filter.
493
494What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/max
495Date:		Feb 2025
496Contact:	SJ Park <sj@kernel.org>
497Description:	If 'hugepage_size' is written to the 'type' file, writing to
498		or reading from this file sets or gets the maximum size of the
499		hugepage for the filter.
500
501What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/damon_target_idx
502Date:		Feb 2025
503Contact:	SJ Park <sj@kernel.org>
504Description:	If 'target' is written to the 'type' file, writing to or
505		reading from this file sets or gets the index of the DAMON
506		monitoring target of the interest.
507
508What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/matching
509Date:		Feb 2025
510Contact:	SJ Park <sj@kernel.org>
511Description:	Writing 'Y' or 'N' to this file sets whether the filter is for
512		the memory of the 'type', or all except the 'type'.
513
514What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/allow
515Date:		Feb 2025
516Contact:	SJ Park <sj@kernel.org>
517Description:	Writing 'Y' or 'N' to this file sets whether to allow or reject
518		applying the scheme's action to the memory that satisfies the
519		'type' and the 'matching' of the directory.
520
521What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters
522Date:		Feb 2025
523Contact:	SJ Park <sj@kernel.org>
524Description:	Directory for DAMON operations set layer-handled DAMOS filters.
525		Files under this directory works same to those of
526		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters
527		directory.
528
529What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
530Date:		Dec 2022
531Contact:	SJ Park <sj@kernel.org>
532Description:	Directory for DAMOS filters.  Files under this directory works
533		same to those of
534		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/{core,ops}_filters
535		directory.  This is deprecated.  Use the core_filters and
536		ops_filters instead.
537
538What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/nr_dests
539Date:		Jul 2025
540Contact:	SJ Park <sj@kernel.org>
541Description:	Writing a number 'N' to this file creates the number of
542		directories for setting action destinations of the scheme named
543		'0' to 'N-1' under the dests/ directory.
544
545What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/id
546Date:		Jul 2025
547Contact:	SJ Park <sj@kernel.org>
548Description:	Writing to and reading from this file sets and gets the id of
549		the DAMOS action destination.  For DAMOS_MIGRATE_{HOT,COLD}
550		actions, the destination node's node id can be written and
551		read.
552
553What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/weight
554Date:		Jul 2025
555Contact:	SJ Park <sj@kernel.org>
556Description:	Writing to and reading from this file sets and gets the weight
557		of the DAMOS action destination to select as the destination of
558		each action among the destinations.
559
560What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried
561Date:		Mar 2022
562Contact:	SJ Park <sj@kernel.org>
563Description:	Reading this file returns the number of regions that the action
564		of the scheme has tried to be applied.
565
566What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried
567Date:		Mar 2022
568Contact:	SJ Park <sj@kernel.org>
569Description:	Reading this file returns the total size of regions that the
570		action of the scheme has tried to be applied in bytes.
571
572What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied
573Date:		Mar 2022
574Contact:	SJ Park <sj@kernel.org>
575Description:	Reading this file returns the number of regions that the action
576		of the scheme has successfully applied.
577
578What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied
579Date:		Mar 2022
580Contact:	SJ Park <sj@kernel.org>
581Description:	Reading this file returns the total size of regions that the
582		action of the scheme has successfully applied in bytes.
583
584What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed
585Date:		Dec 2024
586Contact:	SJ Park <sj@kernel.org>
587Description:	Reading this file returns the total size of memory that passed
588		DAMON operations layer-handled filters of the scheme in bytes.
589
590What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds
591Date:		Mar 2022
592Contact:	SJ Park <sj@kernel.org>
593Description:	Reading this file returns the number of the exceed events of
594		the scheme's quotas.
595
596What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_snapshots
597Date:		Dec 2025
598Contact:	SJ Park <sj@kernel.org>
599Description:	Reading this file returns the total number of DAMON snapshots
600		that the scheme has tried to be applied.
601
602What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/max_nr_snapshots
603Date:		Dec 2025
604Contact:	SJ Park <sj@kernel.org>
605Description:	Writing a number to this file sets the upper limit of
606		nr_snapshots that deactivates the scheme when the limit is
607		reached or exceeded.
608
609What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes
610Date:		Jul 2023
611Contact:	SJ Park <sj@kernel.org>
612Description:	Reading this file returns the total amount of memory that
613		corresponding DAMON-based Operation Scheme's action has tried
614		to be applied.
615
616What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start
617Date:		Oct 2022
618Contact:	SJ Park <sj@kernel.org>
619Description:	Reading this file returns the start address of a memory region
620		that corresponding DAMON-based Operation Scheme's action has
621		tried to be applied.
622
623What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end
624Date:		Oct 2022
625Contact:	SJ Park <sj@kernel.org>
626Description:	Reading this file returns the end address of a memory region
627		that corresponding DAMON-based Operation Scheme's action has
628		tried to be applied.
629
630What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/nr_accesses
631Date:		Oct 2022
632Contact:	SJ Park <sj@kernel.org>
633Description:	Reading this file returns the 'nr_accesses' of a memory region
634		that corresponding DAMON-based Operation Scheme's action has
635		tried to be applied.
636
637What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/age
638Date:		Oct 2022
639Contact:	SJ Park <sj@kernel.org>
640Description:	Reading this file returns the 'age' of a memory region that
641		corresponding DAMON-based Operation Scheme's action has tried
642		to be applied.
643
644What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed
645Date:		Dec 2024
646Contact:	SJ Park <sj@kernel.org>
647Description:	Reading this file returns the size of the memory in the region
648		that passed DAMON operations layer-handled filters of the
649		scheme in bytes.
650