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