xref: /linux/Documentation/ABI/testing/sysfs-kernel-mm-damon (revision 8c2c7df58b5433f614d603bbdffd85f2a392b74a)
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/fail_charge_num
326Date:		Mar 2026
327Contact:	SeongJae Park <sj@kernel.org>
328Description:	Writing to and reading from this file sets and gets the
329		action-failed memory quota charging ratio numerator.
330
331What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/fail_charge_denom
332Date:		Mar 2026
333Contact:	SeongJae Park <sj@kernel.org>
334Description:	Writing to and reading from this file sets and gets the
335		action-failed memory quota charging ratio denominator.
336
337What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil
338Date:		Mar 2022
339Contact:	SeongJae Park <sj@kernel.org>
340Description:	Writing to and reading from this file sets and gets the
341		under-quota limit regions prioritization weight for 'size' in
342		permil.
343
344What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil
345Date:		Mar 2022
346Contact:	SeongJae Park <sj@kernel.org>
347Description:	Writing to and reading from this file sets and gets the
348		under-quota limit regions prioritization weight for
349		'nr_accesses' in permil.
350
351What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil
352Date:		Mar 2022
353Contact:	SeongJae Park <sj@kernel.org>
354Description:	Writing to and reading from this file sets and gets the
355		under-quota limit regions prioritization weight for 'age' in
356		permil.
357
358What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric
359Date:		Mar 2022
360Contact:	SeongJae Park <sj@kernel.org>
361Description:	Writing to and reading from this file sets and gets the metric
362		of the watermarks for the scheme.  The writable/readable
363		keywords for this file are 'none' for disabling the watermarks
364		feature, or 'free_mem_rate' for the system's global free memory
365		rate in permil.
366
367What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us
368Date:		Mar 2022
369Contact:	SeongJae Park <sj@kernel.org>
370Description:	Writing to and reading from this file sets and gets the metric
371		check interval of the watermarks for the scheme in
372		microseconds.
373
374What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high
375Date:		Mar 2022
376Contact:	SeongJae Park <sj@kernel.org>
377Description:	Writing to and reading from this file sets and gets the high
378		watermark of the scheme in permil.
379
380What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid
381Date:		Mar 2022
382Contact:	SeongJae Park <sj@kernel.org>
383Description:	Writing to and reading from this file sets and gets the mid
384		watermark of the scheme in permil.
385
386What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low
387Date:		Mar 2022
388Contact:	SeongJae Park <sj@kernel.org>
389Description:	Writing to and reading from this file sets and gets the low
390		watermark of the scheme in permil.
391
392What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/nr_filters
393Date:		Dec 2022
394Contact:	SeongJae Park <sj@kernel.org>
395Description:	Writing a number 'N' to this file creates the number of
396		directories for setting filters of the scheme named '0' to
397		'N-1' under the filters/ directory.
398
399What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/type
400Date:		Dec 2022
401Contact:	SeongJae Park <sj@kernel.org>
402Description:	Writing to and reading from this file sets and gets the type of
403		the memory of the interest.  'anon' for anonymous pages,
404		'memcg' for specific memory cgroup, 'young' for young pages,
405		'addr' for address range (an open-ended interval), or 'target'
406		for DAMON monitoring target can be written and read.
407
408What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/memcg_path
409Date:		Dec 2022
410Contact:	SeongJae Park <sj@kernel.org>
411Description:	If 'memcg' is written to the 'type' file, writing to and
412		reading from this file sets and gets the path to the memory
413		cgroup of the interest.
414
415What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_start
416Date:		Jul 2023
417Contact:	SeongJae Park <sj@kernel.org>
418Description:	If 'addr' is written to the 'type' file, writing to or reading
419		from this file sets or gets the start address of the address
420		range for the filter.
421
422What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_end
423Date:		Jul 2023
424Contact:	SeongJae Park <sj@kernel.org>
425Description:	If 'addr' is written to the 'type' file, writing to or reading
426		from this file sets or gets the end address of the address
427		range for the filter.
428
429What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/min
430Date:		Feb 2025
431Contact:	SeongJae Park <sj@kernel.org>
432Description:	If 'hugepage_size' is written to the 'type' file, writing to
433		or reading from this file sets or gets the minimum size of the
434		hugepage for the filter.
435
436What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/max
437Date:		Feb 2025
438Contact:	SeongJae Park <sj@kernel.org>
439Description:	If 'hugepage_size' is written to the 'type' file, writing to
440		or reading from this file sets or gets the maximum size of the
441		hugepage for the filter.
442
443What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx
444Date:		Dec 2022
445Contact:	SeongJae Park <sj@kernel.org>
446Description:	If 'target' is written to the 'type' file, writing to or
447		reading from this file sets or gets the index of the DAMON
448		monitoring target of the interest.
449
450What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/matching
451Date:		Dec 2022
452Contact:	SeongJae Park <sj@kernel.org>
453Description:	Writing 'Y' or 'N' to this file sets whether the filter is for
454		the memory of the 'type', or all except the 'type'.
455
456What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/allow
457Date:		Jan 2025
458Contact:	SeongJae Park <sj@kernel.org>
459Description:	Writing 'Y' or 'N' to this file sets whether to allow or reject
460		applying the scheme's action to the memory that satisfies the
461		'type' and the 'matching' of the directory.
462
463What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters
464Date:		Feb 2025
465Contact:	SeongJae Park <sj@kernel.org>
466Description:	Directory for DAMON core layer-handled DAMOS filters.  Files
467		under this directory works same to those of
468		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
469		directory.
470
471What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters
472Date:		Feb 2025
473Contact:	SeongJae Park <sj@kernel.org>
474Description:	Directory for DAMON operations set layer-handled DAMOS filters.
475		Files under this directory works same to those of
476		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
477		directory.
478
479What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/nr_dests
480Date:		Jul 2025
481Contact:	SeongJae Park <sj@kernel.org>
482Description:	Writing a number 'N' to this file creates the number of
483		directories for setting action destinations of the scheme named
484		'0' to 'N-1' under the dests/ directory.
485
486What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/id
487Date:		Jul 2025
488Contact:	SeongJae Park <sj@kernel.org>
489Description:	Writing to and reading from this file sets and gets the id of
490		the DAMOS action destination.  For DAMOS_MIGRATE_{HOT,COLD}
491		actions, the destination node's node id can be written and
492		read.
493
494What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/weight
495Date:		Jul 2025
496Contact:	SeongJae Park <sj@kernel.org>
497Description:	Writing to and reading from this file sets and gets the weight
498		of the DAMOS action destination to select as the destination of
499		each action among the destinations.
500
501What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried
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 tried to be applied.
506
507What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried
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 tried to be applied in bytes.
512
513What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied
514Date:		Mar 2022
515Contact:	SeongJae Park <sj@kernel.org>
516Description:	Reading this file returns the number of regions that the action
517		of the scheme has successfully applied.
518
519What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied
520Date:		Mar 2022
521Contact:	SeongJae Park <sj@kernel.org>
522Description:	Reading this file returns the total size of regions that the
523		action of the scheme has successfully applied in bytes.
524
525What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed
526Date:		Dec 2024
527Contact:	SeongJae Park <sj@kernel.org>
528Description:	Reading this file returns the total size of memory that passed
529		DAMON operations layer-handled filters of the scheme in bytes.
530
531What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds
532Date:		Mar 2022
533Contact:	SeongJae Park <sj@kernel.org>
534Description:	Reading this file returns the number of the exceed events of
535		the scheme's quotas.
536
537What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_snapshots
538Date:		Dec 2025
539Contact:	SeongJae Park <sj@kernel.org>
540Description:	Reading this file returns the total number of DAMON snapshots
541		that the scheme has tried to be applied.
542
543What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/max_nr_snapshots
544Date:		Dec 2025
545Contact:	SeongJae Park <sj@kernel.org>
546Description:	Writing a number to this file sets the upper limit of
547		nr_snapshots that deactivates the scheme when the limit is
548		reached or exceeded.
549
550What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes
551Date:		Jul 2023
552Contact:	SeongJae Park <sj@kernel.org>
553Description:	Reading this file returns the total amount of memory that
554		corresponding DAMON-based Operation Scheme's action has tried
555		to be applied.
556
557What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start
558Date:		Oct 2022
559Contact:	SeongJae Park <sj@kernel.org>
560Description:	Reading this file returns the start address of a memory region
561		that corresponding DAMON-based Operation Scheme's action has
562		tried to be applied.
563
564What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end
565Date:		Oct 2022
566Contact:	SeongJae Park <sj@kernel.org>
567Description:	Reading this file returns the end address of a memory region
568		that corresponding DAMON-based Operation Scheme's action has
569		tried to be applied.
570
571What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/nr_accesses
572Date:		Oct 2022
573Contact:	SeongJae Park <sj@kernel.org>
574Description:	Reading this file returns the 'nr_accesses' of a memory region
575		that corresponding DAMON-based Operation Scheme's action has
576		tried to be applied.
577
578What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/age
579Date:		Oct 2022
580Contact:	SeongJae Park <sj@kernel.org>
581Description:	Reading this file returns the 'age' of a memory region that
582		corresponding DAMON-based Operation Scheme's action has tried
583		to be applied.
584
585What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed
586Date:		Dec 2024
587Contact:	SeongJae Park <sj@kernel.org>
588Description:	Reading this file returns the size of the memory in the region
589		that passed DAMON operations layer-handled filters of the
590		scheme in bytes.
591