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