xref: /linux/Documentation/ABI/testing/sysfs-kernel-mm-damon (revision 56cd19404abae2c17d1e6d1e3c7d23dd79b75039)
1f968c6a4SSeongJae Parkwhat:		/sys/kernel/mm/damon/
2f968c6a4SSeongJae ParkDate:		Mar 2022
3f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4f968c6a4SSeongJae ParkDescription:	Interface for Data Access MONitoring (DAMON).  Contains files
5f968c6a4SSeongJae Park		for controlling DAMON.  For more details on DAMON itself,
6f968c6a4SSeongJae Park		please refer to Documentation/admin-guide/mm/damon/index.rst.
7f968c6a4SSeongJae Park
8f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/
9f968c6a4SSeongJae ParkDate:		Mar 2022
10f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
11f968c6a4SSeongJae ParkDescription:	Interface for privileged users of DAMON.  Contains files for
12f968c6a4SSeongJae Park		controlling DAMON that aimed to be used by privileged users.
13f968c6a4SSeongJae Park
14f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/nr_kdamonds
15f968c6a4SSeongJae ParkDate:		Mar 2022
16f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
17f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
18f968c6a4SSeongJae Park		directories for controlling each DAMON worker thread (kdamond)
19f968c6a4SSeongJae Park		named '0' to 'N-1' under the kdamonds/ directory.
20f968c6a4SSeongJae Park
21f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/state
22f968c6a4SSeongJae ParkDate:		Mar 2022
23f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
24f968c6a4SSeongJae ParkDescription:	Writing 'on' or 'off' to this file makes the kdamond starts or
25f968c6a4SSeongJae Park		stops, respectively.  Reading the file returns the keywords
26adc286e6SSeongJae Park		based on the current status.  Writing 'commit' to this file
27adc286e6SSeongJae Park		makes the kdamond reads the user inputs in the sysfs files
280972913fSSeongJae Park		except 'state' again.  Writing 'commit_schemes_quota_goals' to
290972913fSSeongJae Park		this file makes the kdamond reads the quota goal files again.
300972913fSSeongJae Park		Writing 'update_schemes_stats' to the file updates contents of
310972913fSSeongJae Park		schemes stats files of the kdamond.  Writing
320972913fSSeongJae Park		'update_schemes_tried_regions' to the file updates contents of
330972913fSSeongJae Park		'tried_regions' directory of every scheme directory of this
340972913fSSeongJae Park		kdamond.  Writing 'update_schemes_tried_bytes' to the file
350972913fSSeongJae Park		updates only '.../tried_regions/total_bytes' files of this
36e91b5ccfSSeongJae Park		kdamond.  Writing 'clear_schemes_tried_regions' to the file
3768c4905bSSeongJae Park		removes contents of the 'tried_regions' directory.  Writing
3868c4905bSSeongJae Park		'update_schemes_effective_quotas' to the file updates
3968c4905bSSeongJae Park		'.../quotas/effective_bytes' files of this kdamond.
40f968c6a4SSeongJae Park
41f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/pid
42f968c6a4SSeongJae ParkDate:		Mar 2022
43f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
44f968c6a4SSeongJae ParkDescription:	Reading this file returns the pid of the kdamond if it is
45f968c6a4SSeongJae Park		running.
46f968c6a4SSeongJae Park
47cc1c6724SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/refresh_ms
48cc1c6724SSeongJae ParkDate:		Jul 2025
49cc1c6724SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
50cc1c6724SSeongJae ParkDescription:	Writing a value to this file sets the time interval for
51cc1c6724SSeongJae Park		automatic DAMON status file contents update.  Writing '0'
52cc1c6724SSeongJae Park		disables the update.  Reading this file returns the value.
53cc1c6724SSeongJae Park
54f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/nr_contexts
55f968c6a4SSeongJae ParkDate:		Mar 2022
56f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
57f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
58f968c6a4SSeongJae Park		directories for controlling each DAMON context named '0' to
59f968c6a4SSeongJae Park		'N-1' under the contexts/ directory.
60f968c6a4SSeongJae Park
612fe60ec9SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/avail_operations
622fe60ec9SSeongJae ParkDate:		Apr 2022
632fe60ec9SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
642fe60ec9SSeongJae ParkDescription:	Reading this file returns the available monitoring operations
652fe60ec9SSeongJae Park		sets on the currently running kernel.
662fe60ec9SSeongJae Park
67f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/operations
68f968c6a4SSeongJae ParkDate:		Mar 2022
69f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
70f968c6a4SSeongJae ParkDescription:	Writing a keyword for a monitoring operations set ('vaddr' for
7191541808SSeongJae Park		virtual address spaces monitoring, 'fvaddr' for fixed virtual
7291541808SSeongJae Park		address ranges monitoring, and 'paddr' for the physical address
7391541808SSeongJae Park		space monitoring) to this file makes the context to use the
7491541808SSeongJae Park		operations set.  Reading the file returns the keyword for the
7591541808SSeongJae Park		operations set the context is set to use.
7691541808SSeongJae Park
7791541808SSeongJae Park		Note that only the operations sets that listed in
7891541808SSeongJae Park		'avail_operations' file are valid inputs.
79f968c6a4SSeongJae Park
80*56cd1940SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/addr_unit
81*56cd1940SSeongJae ParkDate:		Aug 2025
82*56cd1940SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
83*56cd1940SSeongJae ParkDescription:	Writing an integer to this file sets the 'address unit'
84*56cd1940SSeongJae Park		parameter of the given operations set of the context.  Reading
85*56cd1940SSeongJae Park		the file returns the last-written 'address unit' value.
86*56cd1940SSeongJae Park
87f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/sample_us
88f968c6a4SSeongJae ParkDate:		Mar 2022
89f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
90f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the sampling interval of the
91f968c6a4SSeongJae Park		DAMON context in microseconds as the value.  Reading this file
92f968c6a4SSeongJae Park		returns the value.
93f968c6a4SSeongJae Park
94f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us
95f968c6a4SSeongJae ParkDate:		Mar 2022
96f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
97f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the aggregation interval of
98f968c6a4SSeongJae Park		the DAMON context in microseconds as the value.  Reading this
99f968c6a4SSeongJae Park		file returns the value.
100f968c6a4SSeongJae Park
101f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us
102f968c6a4SSeongJae ParkDate:		Mar 2022
103f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
104f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the update interval of the
105f968c6a4SSeongJae Park		DAMON context in microseconds as the value.  Reading this file
106f968c6a4SSeongJae Park		returns the value.
107f968c6a4SSeongJae Park
108e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/access_bp
109e2b23dc6SSeongJae ParkDate:		Feb 2025
110e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
111e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the monitoring intervals
112e2b23dc6SSeongJae Park		auto-tuning target DAMON-observed access events ratio within
113e2b23dc6SSeongJae Park		the given time interval (aggrs in same directory), in bp
114e2b23dc6SSeongJae Park		(1/10,000).  Reading this file returns the value.
115e2b23dc6SSeongJae Park
116e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/aggrs
117e2b23dc6SSeongJae ParkDate:		Feb 2025
118e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
119e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the time interval to achieve
120e2b23dc6SSeongJae Park		the monitoring intervals auto-tuning target DAMON-observed
121e2b23dc6SSeongJae Park		access events ratio (access_bp in same directory) within.
122e2b23dc6SSeongJae Park		Reading this file returns the value.
123e2b23dc6SSeongJae Park
124e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/min_sample_us
125e2b23dc6SSeongJae ParkDate:		Feb 2025
126e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
127e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the minimum value of
128e2b23dc6SSeongJae Park		auto-tuned sampling interval in microseconds.  Reading this
129e2b23dc6SSeongJae Park		file returns the value.
130e2b23dc6SSeongJae Park
131e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/max_sample_us
132e2b23dc6SSeongJae ParkDate:		Feb 2025
133e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
134e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the maximum value of
135e2b23dc6SSeongJae Park		auto-tuned sampling interval in microseconds.  Reading this
136e2b23dc6SSeongJae Park		file returns the value.
137e2b23dc6SSeongJae Park
138f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min
139f968c6a4SSeongJae Park
140f968c6a4SSeongJae ParkWDate:		Mar 2022
141f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
142f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the minimum number of
143f968c6a4SSeongJae Park		monitoring regions of the DAMON context as the value.  Reading
144f968c6a4SSeongJae Park		this file returns the value.
145f968c6a4SSeongJae Park
146f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max
147f968c6a4SSeongJae ParkDate:		Mar 2022
148f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
149f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the maximum number of
150f968c6a4SSeongJae Park		monitoring regions of the DAMON context as the value.  Reading
151f968c6a4SSeongJae Park		this file returns the value.
152f968c6a4SSeongJae Park
153f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/nr_targets
154f968c6a4SSeongJae ParkDate:		Mar 2022
155f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
156f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
157f968c6a4SSeongJae Park		directories for controlling each DAMON target of the context
158f968c6a4SSeongJae Park		named '0' to 'N-1' under the contexts/ directory.
159f968c6a4SSeongJae Park
160f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target
161f968c6a4SSeongJae ParkDate:		Mar 2022
162f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
163f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the pid of
164f968c6a4SSeongJae Park		the target process if the context is for virtual address spaces
165f968c6a4SSeongJae Park		monitoring, respectively.
166f968c6a4SSeongJae Park
167f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions
168f968c6a4SSeongJae ParkDate:		Mar 2022
169f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
170f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
171f968c6a4SSeongJae Park		directories for setting each DAMON target memory region of the
172f968c6a4SSeongJae Park		context named '0' to 'N-1' under the regions/ directory.  In
173f968c6a4SSeongJae Park		case of the virtual address space monitoring, DAMON
174f968c6a4SSeongJae Park		automatically sets the target memory region based on the target
175f968c6a4SSeongJae Park		processes' mappings.
176f968c6a4SSeongJae Park
177f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start
178f968c6a4SSeongJae ParkDate:		Mar 2022
179f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
180f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the start
181f968c6a4SSeongJae Park		address of the monitoring region.
182f968c6a4SSeongJae Park
183f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end
184f968c6a4SSeongJae ParkDate:		Mar 2022
185f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
186f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the end
187f968c6a4SSeongJae Park		address of the monitoring region.
188f968c6a4SSeongJae Park
189f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes
190f968c6a4SSeongJae ParkDate:		Mar 2022
191f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
192f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
193f968c6a4SSeongJae Park		directories for controlling each DAMON-based operation scheme
194f968c6a4SSeongJae Park		of the context named '0' to 'N-1' under the schemes/ directory.
195f968c6a4SSeongJae Park
196f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action
197f968c6a4SSeongJae ParkDate:		Mar 2022
198f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
199f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the action
200f968c6a4SSeongJae Park		of the scheme.
201f968c6a4SSeongJae Park
202e36287c6SHyeongtak JiWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/target_nid
203e36287c6SHyeongtak JiDate:		Jun 2024
204e36287c6SHyeongtak JiContact:	SeongJae Park <sj@kernel.org>
205e36287c6SHyeongtak JiDescription:	Action's target NUMA node id.  Supported by only relevant
206e36287c6SHyeongtak Ji		actions.
207e36287c6SHyeongtak Ji
208d57d36b5SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us
209d57d36b5SSeongJae ParkDate:		Sep 2023
210d57d36b5SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
211d57d36b5SSeongJae ParkDescription:	Writing a value to this file sets the action apply interval of
212d57d36b5SSeongJae Park		the scheme in microseconds.  Reading this file returns the
213d57d36b5SSeongJae Park		value.
214d57d36b5SSeongJae Park
215f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min
216f968c6a4SSeongJae ParkDate:		Mar 2022
217f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
218ebab9426SBjorn HelgaasDescription:	Writing to and reading from this file sets and gets the minimum
219f968c6a4SSeongJae Park		size of the scheme's target regions in bytes.
220f968c6a4SSeongJae Park
221f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max
222f968c6a4SSeongJae ParkDate:		Mar 2022
223f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
224f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the maximum
225f968c6a4SSeongJae Park		size of the scheme's target regions in bytes.
226f968c6a4SSeongJae Park
227f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min
228f968c6a4SSeongJae ParkDate:		Mar 2022
229f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
230f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the manimum
231f968c6a4SSeongJae Park		'nr_accesses' of the scheme's target regions.
232f968c6a4SSeongJae Park
233f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max
234f968c6a4SSeongJae ParkDate:		Mar 2022
235f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
236f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the maximum
237f968c6a4SSeongJae Park		'nr_accesses' of the scheme's target regions.
238f968c6a4SSeongJae Park
239f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min
240f968c6a4SSeongJae ParkDate:		Mar 2022
241f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
242f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the minimum
243f968c6a4SSeongJae Park		'age' of the scheme's target regions.
244f968c6a4SSeongJae Park
245f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max
246f968c6a4SSeongJae ParkDate:		Mar 2022
247f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
248f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the maximum
249f968c6a4SSeongJae Park		'age' of the scheme's target regions.
250f968c6a4SSeongJae Park
251f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms
252f968c6a4SSeongJae ParkDate:		Mar 2022
253f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
254f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the time
255f968c6a4SSeongJae Park		quota of the scheme in milliseconds.
256f968c6a4SSeongJae Park
257f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes
258f968c6a4SSeongJae ParkDate:		Mar 2022
259f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
260f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the size
261f968c6a4SSeongJae Park		quota of the scheme in bytes.
262f968c6a4SSeongJae Park
26368c4905bSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/effective_bytes
26468c4905bSSeongJae ParkDate:		Feb 2024
26568c4905bSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
26668c4905bSSeongJae ParkDescription:	Reading from this file gets the effective size quota of the
26768c4905bSSeongJae Park		scheme in bytes, which adjusted for the time quota and goals.
26868c4905bSSeongJae Park
269f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms
270f968c6a4SSeongJae ParkDate:		Mar 2022
271f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
272f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the quotas
273f968c6a4SSeongJae Park		charge reset interval of the scheme in milliseconds.
274f968c6a4SSeongJae Park
2750972913fSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals
2760972913fSSeongJae ParkDate:		Nov 2023
2770972913fSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
2780972913fSSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
2790972913fSSeongJae Park		directories for setting automatic tuning of the scheme's
2800972913fSSeongJae Park		aggressiveness named '0' to 'N-1' under the goals/ directory.
2810972913fSSeongJae Park
282adc3908bSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_metric
283adc3908bSSeongJae ParkDate:		Feb 2024
284adc3908bSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
285adc3908bSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the quota
286adc3908bSSeongJae Park		auto-tuning goal metric.
287adc3908bSSeongJae Park
2880972913fSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value
2890972913fSSeongJae ParkDate:		Nov 2023
2900972913fSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
2910972913fSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the target
2920972913fSSeongJae Park		value of the goal metric.
2930972913fSSeongJae Park
2940972913fSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value
2950972913fSSeongJae ParkDate:		Nov 2023
2960972913fSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
2970972913fSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the current
2980972913fSSeongJae Park		value of the goal metric.
2990972913fSSeongJae Park
300f77cb462SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/nid
301f77cb462SSeongJae ParkDate:		Apr 2025
302f77cb462SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
303f77cb462SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the nid
304f77cb462SSeongJae Park		parameter of the goal.
305f77cb462SSeongJae Park
306f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil
307f968c6a4SSeongJae ParkDate:		Mar 2022
308f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
309f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the
310f968c6a4SSeongJae Park		under-quota limit regions prioritization weight for 'size' in
311f968c6a4SSeongJae Park		permil.
312f968c6a4SSeongJae Park
313f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil
314f968c6a4SSeongJae ParkDate:		Mar 2022
315f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
316f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the
317f968c6a4SSeongJae Park		under-quota limit regions prioritization weight for
318f968c6a4SSeongJae Park		'nr_accesses' in permil.
319f968c6a4SSeongJae Park
320f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil
321f968c6a4SSeongJae ParkDate:		Mar 2022
322f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
323f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the
324f968c6a4SSeongJae Park		under-quota limit regions prioritization weight for 'age' in
325f968c6a4SSeongJae Park		permil.
326f968c6a4SSeongJae Park
327f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric
328f968c6a4SSeongJae ParkDate:		Mar 2022
329f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
330f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the metric
331f968c6a4SSeongJae Park		of the watermarks for the scheme.  The writable/readable
332f968c6a4SSeongJae Park		keywords for this file are 'none' for disabling the watermarks
333f968c6a4SSeongJae Park		feature, or 'free_mem_rate' for the system's global free memory
334f968c6a4SSeongJae Park		rate in permil.
335f968c6a4SSeongJae Park
336f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us
337f968c6a4SSeongJae ParkDate:		Mar 2022
338f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
339f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the metric
340f968c6a4SSeongJae Park		check interval of the watermarks for the scheme in
341f968c6a4SSeongJae Park		microseconds.
342f968c6a4SSeongJae Park
343f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high
344f968c6a4SSeongJae ParkDate:		Mar 2022
345f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
346f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the high
347f968c6a4SSeongJae Park		watermark of the scheme in permil.
348f968c6a4SSeongJae Park
349f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid
350f968c6a4SSeongJae ParkDate:		Mar 2022
351f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
352f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the mid
353f968c6a4SSeongJae Park		watermark of the scheme in permil.
354f968c6a4SSeongJae Park
355f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low
356f968c6a4SSeongJae ParkDate:		Mar 2022
357f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
358f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the low
359f968c6a4SSeongJae Park		watermark of the scheme in permil.
360f968c6a4SSeongJae Park
361497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/nr_filters
362497b099dSSeongJae ParkDate:		Dec 2022
363497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
364497b099dSSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
365497b099dSSeongJae Park		directories for setting filters of the scheme named '0' to
366497b099dSSeongJae Park		'N-1' under the filters/ directory.
367497b099dSSeongJae Park
368497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/type
369497b099dSSeongJae ParkDate:		Dec 2022
370497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
371497b099dSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the type of
3722beb97fcSSeongJae Park		the memory of the interest.  'anon' for anonymous pages,
373eedbd23dSSeongJae Park		'memcg' for specific memory cgroup, 'young' for young pages,
374eedbd23dSSeongJae Park		'addr' for address range (an open-ended interval), or 'target'
375eedbd23dSSeongJae Park		for DAMON monitoring target can be written and read.
376497b099dSSeongJae Park
377497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/memcg_path
378497b099dSSeongJae ParkDate:		Dec 2022
379497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
380497b099dSSeongJae ParkDescription:	If 'memcg' is written to the 'type' file, writing to and
381497b099dSSeongJae Park		reading from this file sets and gets the path to the memory
382497b099dSSeongJae Park		cgroup of the interest.
383497b099dSSeongJae Park
3842beb97fcSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_start
3852beb97fcSSeongJae ParkDate:		Jul 2023
3862beb97fcSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
3872beb97fcSSeongJae ParkDescription:	If 'addr' is written to the 'type' file, writing to or reading
3882beb97fcSSeongJae Park		from this file sets or gets the start address of the address
3892beb97fcSSeongJae Park		range for the filter.
3902beb97fcSSeongJae Park
3912beb97fcSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_end
3922beb97fcSSeongJae ParkDate:		Jul 2023
3932beb97fcSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
3942beb97fcSSeongJae ParkDescription:	If 'addr' is written to the 'type' file, writing to or reading
3952beb97fcSSeongJae Park		from this file sets or gets the end address of the address
3962beb97fcSSeongJae Park		range for the filter.
3972beb97fcSSeongJae Park
398807db03cSUsama ArifWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/min
399807db03cSUsama ArifDate:		Feb 2025
400807db03cSUsama ArifContact:	SeongJae Park <sj@kernel.org>
401807db03cSUsama ArifDescription:	If 'hugepage_size' is written to the 'type' file, writing to
402807db03cSUsama Arif		or reading from this file sets or gets the minimum size of the
403807db03cSUsama Arif		hugepage for the filter.
404807db03cSUsama Arif
405807db03cSUsama ArifWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/max
406807db03cSUsama ArifDate:		Feb 2025
407807db03cSUsama ArifContact:	SeongJae Park <sj@kernel.org>
408807db03cSUsama ArifDescription:	If 'hugepage_size' is written to the 'type' file, writing to
409807db03cSUsama Arif		or reading from this file sets or gets the maximum size of the
410807db03cSUsama Arif		hugepage for the filter.
411807db03cSUsama Arif
412d3d21d91SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx
413d3d21d91SSeongJae ParkDate:		Dec 2022
414d3d21d91SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
415d3d21d91SSeongJae ParkDescription:	If 'target' is written to the 'type' file, writing to or
416d3d21d91SSeongJae Park		reading from this file sets or gets the index of the DAMON
417d3d21d91SSeongJae Park		monitoring target of the interest.
4182beb97fcSSeongJae Park
419497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/matching
420497b099dSSeongJae ParkDate:		Dec 2022
421497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4221c2ac23dSSeongJae ParkDescription:	Writing 'Y' or 'N' to this file sets whether the filter is for
4231c2ac23dSSeongJae Park		the memory of the 'type', or all except the 'type'.
4241c2ac23dSSeongJae Park
4251c2ac23dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/allow
4261c2ac23dSSeongJae ParkDate:		Jan 2025
4271c2ac23dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4281c2ac23dSSeongJae ParkDescription:	Writing 'Y' or 'N' to this file sets whether to allow or reject
4291c2ac23dSSeongJae Park		applying the scheme's action to the memory that satisfies the
4301c2ac23dSSeongJae Park		'type' and the 'matching' of the directory.
431497b099dSSeongJae Park
432899e4c14SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters
433899e4c14SSeongJae ParkDate:		Feb 2025
434899e4c14SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
435899e4c14SSeongJae ParkDescription:	Directory for DAMON core layer-handled DAMOS filters.  Files
436899e4c14SSeongJae Park		under this directory works same to those of
437899e4c14SSeongJae Park		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
438899e4c14SSeongJae Park		directory.
439899e4c14SSeongJae Park
440899e4c14SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters
441899e4c14SSeongJae ParkDate:		Feb 2025
442899e4c14SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
443899e4c14SSeongJae ParkDescription:	Directory for DAMON operations set layer-handled DAMOS filters.
444899e4c14SSeongJae Park		Files under this directory works same to those of
445899e4c14SSeongJae Park		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
446899e4c14SSeongJae Park		directory.
447899e4c14SSeongJae Park
448b9dfe8afSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/nr_dests
449b9dfe8afSSeongJae ParkDate:		Jul 2025
450b9dfe8afSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
451b9dfe8afSSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
452b9dfe8afSSeongJae Park		directories for setting action destinations of the scheme named
453b9dfe8afSSeongJae Park		'0' to 'N-1' under the dests/ directory.
454b9dfe8afSSeongJae Park
455b9dfe8afSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/id
456b9dfe8afSSeongJae ParkDate:		Jul 2025
457b9dfe8afSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
458b9dfe8afSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the id of
459b9dfe8afSSeongJae Park		the DAMOS action destination.  For DAMOS_MIGRATE_{HOT,COLD}
460b9dfe8afSSeongJae Park		actions, the destination node's node id can be written and
461b9dfe8afSSeongJae Park		read.
462b9dfe8afSSeongJae Park
463b9dfe8afSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/weight
464b9dfe8afSSeongJae ParkDate:		Jul 2025
465b9dfe8afSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
466b9dfe8afSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the weight
467b9dfe8afSSeongJae Park		of the DAMOS action destination to select as the destination of
468b9dfe8afSSeongJae Park		each action among the destinations.
469b9dfe8afSSeongJae Park
470f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried
471f968c6a4SSeongJae ParkDate:		Mar 2022
472f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
473f968c6a4SSeongJae ParkDescription:	Reading this file returns the number of regions that the action
474f968c6a4SSeongJae Park		of the scheme has tried to be applied.
475f968c6a4SSeongJae Park
476f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried
477f968c6a4SSeongJae ParkDate:		Mar 2022
478f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
479f968c6a4SSeongJae ParkDescription:	Reading this file returns the total size of regions that the
480f968c6a4SSeongJae Park		action of the scheme has tried to be applied in bytes.
481f968c6a4SSeongJae Park
482f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied
483f968c6a4SSeongJae ParkDate:		Mar 2022
484f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
485f968c6a4SSeongJae ParkDescription:	Reading this file returns the number of regions that the action
486f968c6a4SSeongJae Park		of the scheme has successfully applied.
487f968c6a4SSeongJae Park
488f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied
489f968c6a4SSeongJae ParkDate:		Mar 2022
490f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
491f968c6a4SSeongJae ParkDescription:	Reading this file returns the total size of regions that the
492f968c6a4SSeongJae Park		action of the scheme has successfully applied in bytes.
493f968c6a4SSeongJae Park
494e1a1d377SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed
495e1a1d377SSeongJae ParkDate:		Dec 2024
496e1a1d377SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
497e1a1d377SSeongJae ParkDescription:	Reading this file returns the total size of memory that passed
498e1a1d377SSeongJae Park		DAMON operations layer-handled filters of the scheme in bytes.
499e1a1d377SSeongJae Park
500f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds
501f968c6a4SSeongJae ParkDate:		Mar 2022
502f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
503f968c6a4SSeongJae ParkDescription:	Reading this file returns the number of the exceed events of
504f968c6a4SSeongJae Park		the scheme's quotas.
5051b0006daSSeongJae Park
506e91b5ccfSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes
507e91b5ccfSSeongJae ParkDate:		Jul 2023
508e91b5ccfSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
509e91b5ccfSSeongJae ParkDescription:	Reading this file returns the total amount of memory that
510e91b5ccfSSeongJae Park		corresponding DAMON-based Operation Scheme's action has tried
511e91b5ccfSSeongJae Park		to be applied.
512e91b5ccfSSeongJae Park
5131b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start
5141b0006daSSeongJae ParkDate:		Oct 2022
5151b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
5161b0006daSSeongJae ParkDescription:	Reading this file returns the start address of a memory region
5171b0006daSSeongJae Park		that corresponding DAMON-based Operation Scheme's action has
5181b0006daSSeongJae Park		tried to be applied.
5191b0006daSSeongJae Park
5201b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end
5211b0006daSSeongJae ParkDate:		Oct 2022
5221b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
5231b0006daSSeongJae ParkDescription:	Reading this file returns the end address of a memory region
5241b0006daSSeongJae Park		that corresponding DAMON-based Operation Scheme's action has
5251b0006daSSeongJae Park		tried to be applied.
5261b0006daSSeongJae Park
5271b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/nr_accesses
5281b0006daSSeongJae ParkDate:		Oct 2022
5291b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
5301b0006daSSeongJae ParkDescription:	Reading this file returns the 'nr_accesses' of a memory region
5311b0006daSSeongJae Park		that corresponding DAMON-based Operation Scheme's action has
5321b0006daSSeongJae Park		tried to be applied.
5331b0006daSSeongJae Park
5341b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/age
5351b0006daSSeongJae ParkDate:		Oct 2022
5361b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
5371b0006daSSeongJae ParkDescription:	Reading this file returns the 'age' of a memory region that
5381b0006daSSeongJae Park		corresponding DAMON-based Operation Scheme's action has tried
5391b0006daSSeongJae Park		to be applied.
540f1de9e69SSeongJae Park
541f1de9e69SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed
542f1de9e69SSeongJae ParkDate:		Dec 2024
543f1de9e69SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
544f1de9e69SSeongJae ParkDescription:	Reading this file returns the size of the memory in the region
545f1de9e69SSeongJae Park		that passed DAMON operations layer-handled filters of the
546f1de9e69SSeongJae Park		scheme in bytes.
547