xref: /linux/Documentation/ABI/testing/sysfs-kernel-mm-damon (revision 5ea5880764cbb164afb17a62e76ca75dc371409d)
1what:		/sys/kernel/mm/damon/
2Date:		Mar 2022
3Contact:	SeongJae 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:	SeongJae 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:	SeongJae 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:	SeongJae 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:	SeongJae 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:	SeongJae 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:	SeongJae 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:	SeongJae 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:	SeongJae 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:	SeongJae 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>/monitoring_attrs/intervals/sample_us
88Date:		Mar 2022
89Contact:	SeongJae Park <sj@kernel.org>
90Description:	Writing a value to this file sets the sampling interval of the
91		DAMON context in microseconds as the value.  Reading this file
92		returns the value.
93
94What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us
95Date:		Mar 2022
96Contact:	SeongJae Park <sj@kernel.org>
97Description:	Writing a value to this file sets the aggregation interval of
98		the DAMON context in microseconds as the value.  Reading this
99		file returns the value.
100
101What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us
102Date:		Mar 2022
103Contact:	SeongJae Park <sj@kernel.org>
104Description:	Writing a value to this file sets the update interval of the
105		DAMON context in microseconds as the value.  Reading this file
106		returns the value.
107
108What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/access_bp
109Date:		Feb 2025
110Contact:	SeongJae Park <sj@kernel.org>
111Description:	Writing a value to this file sets the monitoring intervals
112		auto-tuning target DAMON-observed access events ratio within
113		the given time interval (aggrs in same directory), in bp
114		(1/10,000).  Reading this file returns the value.
115
116What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/aggrs
117Date:		Feb 2025
118Contact:	SeongJae Park <sj@kernel.org>
119Description:	Writing a value to this file sets the time interval to achieve
120		the monitoring intervals auto-tuning target DAMON-observed
121		access events ratio (access_bp in same directory) within.
122		Reading this file returns the value.
123
124What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/min_sample_us
125Date:		Feb 2025
126Contact:	SeongJae Park <sj@kernel.org>
127Description:	Writing a value to this file sets the minimum value of
128		auto-tuned sampling interval in microseconds.  Reading this
129		file returns the value.
130
131What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/max_sample_us
132Date:		Feb 2025
133Contact:	SeongJae Park <sj@kernel.org>
134Description:	Writing a value to this file sets the maximum 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/nr_regions/min
139
140WDate:		Mar 2022
141Contact:	SeongJae Park <sj@kernel.org>
142Description:	Writing a value to this file sets the minimum number of
143		monitoring regions of the DAMON context as the value.  Reading
144		this file returns the value.
145
146What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max
147Date:		Mar 2022
148Contact:	SeongJae Park <sj@kernel.org>
149Description:	Writing a value to this file sets the maximum 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>/targets/nr_targets
154Date:		Mar 2022
155Contact:	SeongJae Park <sj@kernel.org>
156Description:	Writing a number 'N' to this file creates the number of
157		directories for controlling each DAMON target of the context
158		named '0' to 'N-1' under the contexts/ directory.
159
160What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target
161Date:		Mar 2022
162Contact:	SeongJae Park <sj@kernel.org>
163Description:	Writing to and reading from this file sets and gets the pid of
164		the target process if the context is for virtual address spaces
165		monitoring, respectively.
166
167What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/obsolete_target
168Date:		Oct 2025
169Contact:	SeongJae Park <sj@kernel.org>
170Description:	Writing to and reading from this file sets and gets the
171		obsoleteness of the matching parameters commit destination
172		target.
173
174What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions
175Date:		Mar 2022
176Contact:	SeongJae Park <sj@kernel.org>
177Description:	Writing a number 'N' to this file creates the number of
178		directories for setting each DAMON target memory region of the
179		context named '0' to 'N-1' under the regions/ directory.  In
180		case of the virtual address space monitoring, DAMON
181		automatically sets the target memory region based on the target
182		processes' mappings.
183
184What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start
185Date:		Mar 2022
186Contact:	SeongJae Park <sj@kernel.org>
187Description:	Writing to and reading from this file sets and gets the start
188		address of the monitoring region.
189
190What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end
191Date:		Mar 2022
192Contact:	SeongJae Park <sj@kernel.org>
193Description:	Writing to and reading from this file sets and gets the end
194		address of the monitoring region.
195
196What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes
197Date:		Mar 2022
198Contact:	SeongJae Park <sj@kernel.org>
199Description:	Writing a number 'N' to this file creates the number of
200		directories for controlling each DAMON-based operation scheme
201		of the context named '0' to 'N-1' under the schemes/ directory.
202
203What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action
204Date:		Mar 2022
205Contact:	SeongJae Park <sj@kernel.org>
206Description:	Writing to and reading from this file sets and gets the action
207		of the scheme.
208
209What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/target_nid
210Date:		Jun 2024
211Contact:	SeongJae Park <sj@kernel.org>
212Description:	Action's target NUMA node id.  Supported by only relevant
213		actions.
214
215What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us
216Date:		Sep 2023
217Contact:	SeongJae Park <sj@kernel.org>
218Description:	Writing a value to this file sets the action apply interval of
219		the scheme in microseconds.  Reading this file returns the
220		value.
221
222What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min
223Date:		Mar 2022
224Contact:	SeongJae Park <sj@kernel.org>
225Description:	Writing to and reading from this file sets and gets the minimum
226		size of the scheme's target regions in bytes.
227
228What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max
229Date:		Mar 2022
230Contact:	SeongJae Park <sj@kernel.org>
231Description:	Writing to and reading from this file sets and gets the maximum
232		size of the scheme's target regions in bytes.
233
234What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min
235Date:		Mar 2022
236Contact:	SeongJae Park <sj@kernel.org>
237Description:	Writing to and reading from this file sets and gets the manimum
238		'nr_accesses' of the scheme's target regions.
239
240What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max
241Date:		Mar 2022
242Contact:	SeongJae Park <sj@kernel.org>
243Description:	Writing to and reading from this file sets and gets the maximum
244		'nr_accesses' of the scheme's target regions.
245
246What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min
247Date:		Mar 2022
248Contact:	SeongJae Park <sj@kernel.org>
249Description:	Writing to and reading from this file sets and gets the minimum
250		'age' of the scheme's target regions.
251
252What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max
253Date:		Mar 2022
254Contact:	SeongJae Park <sj@kernel.org>
255Description:	Writing to and reading from this file sets and gets the maximum
256		'age' of the scheme's target regions.
257
258What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms
259Date:		Mar 2022
260Contact:	SeongJae Park <sj@kernel.org>
261Description:	Writing to and reading from this file sets and gets the time
262		quota of the scheme in milliseconds.
263
264What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes
265Date:		Mar 2022
266Contact:	SeongJae Park <sj@kernel.org>
267Description:	Writing to and reading from this file sets and gets the size
268		quota of the scheme in bytes.
269
270What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/effective_bytes
271Date:		Feb 2024
272Contact:	SeongJae Park <sj@kernel.org>
273Description:	Reading from this file gets the effective size quota of the
274		scheme in bytes, which adjusted for the time quota and goals.
275
276What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms
277Date:		Mar 2022
278Contact:	SeongJae Park <sj@kernel.org>
279Description:	Writing to and reading from this file sets and gets the quotas
280		charge reset interval of the scheme in milliseconds.
281
282What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals
283Date:		Nov 2023
284Contact:	SeongJae Park <sj@kernel.org>
285Description:	Writing a number 'N' to this file creates the number of
286		directories for setting automatic tuning of the scheme's
287		aggressiveness named '0' to 'N-1' under the goals/ directory.
288
289What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_metric
290Date:		Feb 2024
291Contact:	SeongJae Park <sj@kernel.org>
292Description:	Writing to and reading from this file sets and gets the quota
293		auto-tuning goal metric.
294
295What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value
296Date:		Nov 2023
297Contact:	SeongJae Park <sj@kernel.org>
298Description:	Writing to and reading from this file sets and gets the target
299		value of the goal metric.
300
301What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value
302Date:		Nov 2023
303Contact:	SeongJae Park <sj@kernel.org>
304Description:	Writing to and reading from this file sets and gets the current
305		value of the goal metric.
306
307What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/nid
308Date:		Apr 2025
309Contact:	SeongJae Park <sj@kernel.org>
310Description:	Writing to and reading from this file sets and gets the nid
311		parameter of the goal.
312
313What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/path
314Date:		Oct 2025
315Contact:	SeongJae Park <sj@kernel.org>
316Description:	Writing to and reading from this file sets and gets the path
317		parameter of the goal.
318
319What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goal_tuner
320Date:		Mar 2026
321Contact:	SeongJae Park <sj@kernel.org>
322Description:	Writing to and reading from this file sets and gets the
323		goal-based effective quota auto-tuning algorithm to use.
324
325What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil
326Date:		Mar 2022
327Contact:	SeongJae Park <sj@kernel.org>
328Description:	Writing to and reading from this file sets and gets the
329		under-quota limit regions prioritization weight for 'size' in
330		permil.
331
332What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil
333Date:		Mar 2022
334Contact:	SeongJae Park <sj@kernel.org>
335Description:	Writing to and reading from this file sets and gets the
336		under-quota limit regions prioritization weight for
337		'nr_accesses' in permil.
338
339What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil
340Date:		Mar 2022
341Contact:	SeongJae Park <sj@kernel.org>
342Description:	Writing to and reading from this file sets and gets the
343		under-quota limit regions prioritization weight for 'age' in
344		permil.
345
346What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric
347Date:		Mar 2022
348Contact:	SeongJae Park <sj@kernel.org>
349Description:	Writing to and reading from this file sets and gets the metric
350		of the watermarks for the scheme.  The writable/readable
351		keywords for this file are 'none' for disabling the watermarks
352		feature, or 'free_mem_rate' for the system's global free memory
353		rate in permil.
354
355What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us
356Date:		Mar 2022
357Contact:	SeongJae Park <sj@kernel.org>
358Description:	Writing to and reading from this file sets and gets the metric
359		check interval of the watermarks for the scheme in
360		microseconds.
361
362What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high
363Date:		Mar 2022
364Contact:	SeongJae Park <sj@kernel.org>
365Description:	Writing to and reading from this file sets and gets the high
366		watermark of the scheme in permil.
367
368What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid
369Date:		Mar 2022
370Contact:	SeongJae Park <sj@kernel.org>
371Description:	Writing to and reading from this file sets and gets the mid
372		watermark of the scheme in permil.
373
374What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low
375Date:		Mar 2022
376Contact:	SeongJae Park <sj@kernel.org>
377Description:	Writing to and reading from this file sets and gets the low
378		watermark of the scheme in permil.
379
380What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/nr_filters
381Date:		Dec 2022
382Contact:	SeongJae Park <sj@kernel.org>
383Description:	Writing a number 'N' to this file creates the number of
384		directories for setting filters of the scheme named '0' to
385		'N-1' under the filters/ directory.
386
387What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/type
388Date:		Dec 2022
389Contact:	SeongJae Park <sj@kernel.org>
390Description:	Writing to and reading from this file sets and gets the type of
391		the memory of the interest.  'anon' for anonymous pages,
392		'memcg' for specific memory cgroup, 'young' for young pages,
393		'addr' for address range (an open-ended interval), or 'target'
394		for DAMON monitoring target can be written and read.
395
396What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/memcg_path
397Date:		Dec 2022
398Contact:	SeongJae Park <sj@kernel.org>
399Description:	If 'memcg' is written to the 'type' file, writing to and
400		reading from this file sets and gets the path to the memory
401		cgroup of the interest.
402
403What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_start
404Date:		Jul 2023
405Contact:	SeongJae Park <sj@kernel.org>
406Description:	If 'addr' is written to the 'type' file, writing to or reading
407		from this file sets or gets the start address of the address
408		range for the filter.
409
410What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_end
411Date:		Jul 2023
412Contact:	SeongJae Park <sj@kernel.org>
413Description:	If 'addr' is written to the 'type' file, writing to or reading
414		from this file sets or gets the end address of the address
415		range for the filter.
416
417What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/min
418Date:		Feb 2025
419Contact:	SeongJae Park <sj@kernel.org>
420Description:	If 'hugepage_size' is written to the 'type' file, writing to
421		or reading from this file sets or gets the minimum size of the
422		hugepage for the filter.
423
424What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/max
425Date:		Feb 2025
426Contact:	SeongJae Park <sj@kernel.org>
427Description:	If 'hugepage_size' is written to the 'type' file, writing to
428		or reading from this file sets or gets the maximum size of the
429		hugepage for the filter.
430
431What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx
432Date:		Dec 2022
433Contact:	SeongJae Park <sj@kernel.org>
434Description:	If 'target' is written to the 'type' file, writing to or
435		reading from this file sets or gets the index of the DAMON
436		monitoring target of the interest.
437
438What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/matching
439Date:		Dec 2022
440Contact:	SeongJae Park <sj@kernel.org>
441Description:	Writing 'Y' or 'N' to this file sets whether the filter is for
442		the memory of the 'type', or all except the 'type'.
443
444What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/allow
445Date:		Jan 2025
446Contact:	SeongJae Park <sj@kernel.org>
447Description:	Writing 'Y' or 'N' to this file sets whether to allow or reject
448		applying the scheme's action to the memory that satisfies the
449		'type' and the 'matching' of the directory.
450
451What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters
452Date:		Feb 2025
453Contact:	SeongJae Park <sj@kernel.org>
454Description:	Directory for DAMON core layer-handled DAMOS filters.  Files
455		under this directory works same to those of
456		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
457		directory.
458
459What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters
460Date:		Feb 2025
461Contact:	SeongJae Park <sj@kernel.org>
462Description:	Directory for DAMON operations set layer-handled DAMOS filters.
463		Files under this directory works same to those of
464		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
465		directory.
466
467What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/nr_dests
468Date:		Jul 2025
469Contact:	SeongJae Park <sj@kernel.org>
470Description:	Writing a number 'N' to this file creates the number of
471		directories for setting action destinations of the scheme named
472		'0' to 'N-1' under the dests/ directory.
473
474What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/id
475Date:		Jul 2025
476Contact:	SeongJae Park <sj@kernel.org>
477Description:	Writing to and reading from this file sets and gets the id of
478		the DAMOS action destination.  For DAMOS_MIGRATE_{HOT,COLD}
479		actions, the destination node's node id can be written and
480		read.
481
482What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/weight
483Date:		Jul 2025
484Contact:	SeongJae Park <sj@kernel.org>
485Description:	Writing to and reading from this file sets and gets the weight
486		of the DAMOS action destination to select as the destination of
487		each action among the destinations.
488
489What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried
490Date:		Mar 2022
491Contact:	SeongJae Park <sj@kernel.org>
492Description:	Reading this file returns the number of regions that the action
493		of the scheme has tried to be applied.
494
495What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried
496Date:		Mar 2022
497Contact:	SeongJae Park <sj@kernel.org>
498Description:	Reading this file returns the total size of regions that the
499		action of the scheme has tried to be applied in bytes.
500
501What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied
502Date:		Mar 2022
503Contact:	SeongJae Park <sj@kernel.org>
504Description:	Reading this file returns the number of regions that the action
505		of the scheme has successfully applied.
506
507What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied
508Date:		Mar 2022
509Contact:	SeongJae Park <sj@kernel.org>
510Description:	Reading this file returns the total size of regions that the
511		action of the scheme has successfully applied in bytes.
512
513What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed
514Date:		Dec 2024
515Contact:	SeongJae Park <sj@kernel.org>
516Description:	Reading this file returns the total size of memory that passed
517		DAMON operations layer-handled filters of the scheme in bytes.
518
519What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds
520Date:		Mar 2022
521Contact:	SeongJae Park <sj@kernel.org>
522Description:	Reading this file returns the number of the exceed events of
523		the scheme's quotas.
524
525What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_snapshots
526Date:		Dec 2025
527Contact:	SeongJae Park <sj@kernel.org>
528Description:	Reading this file returns the total number of DAMON snapshots
529		that the scheme has tried to be applied.
530
531What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/max_nr_snapshots
532Date:		Dec 2025
533Contact:	SeongJae Park <sj@kernel.org>
534Description:	Writing a number to this file sets the upper limit of
535		nr_snapshots that deactivates the scheme when the limit is
536		reached or exceeded.
537
538What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes
539Date:		Jul 2023
540Contact:	SeongJae Park <sj@kernel.org>
541Description:	Reading this file returns the total amount of memory that
542		corresponding DAMON-based Operation Scheme's action has tried
543		to be applied.
544
545What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start
546Date:		Oct 2022
547Contact:	SeongJae Park <sj@kernel.org>
548Description:	Reading this file returns the start address of a memory region
549		that corresponding DAMON-based Operation Scheme's action has
550		tried to be applied.
551
552What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end
553Date:		Oct 2022
554Contact:	SeongJae Park <sj@kernel.org>
555Description:	Reading this file returns the end address of a memory region
556		that corresponding DAMON-based Operation Scheme's action has
557		tried to be applied.
558
559What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/nr_accesses
560Date:		Oct 2022
561Contact:	SeongJae Park <sj@kernel.org>
562Description:	Reading this file returns the 'nr_accesses' of a memory region
563		that corresponding DAMON-based Operation Scheme's action has
564		tried to be applied.
565
566What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/age
567Date:		Oct 2022
568Contact:	SeongJae Park <sj@kernel.org>
569Description:	Reading this file returns the 'age' of a memory region that
570		corresponding DAMON-based Operation Scheme's action has tried
571		to be applied.
572
573What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed
574Date:		Dec 2024
575Contact:	SeongJae Park <sj@kernel.org>
576Description:	Reading this file returns the size of the memory in the region
577		that passed DAMON operations layer-handled filters of the
578		scheme in bytes.
579