xref: /linux/Documentation/ABI/testing/sysfs-kernel-mm-damon (revision 1260ed77798502de9c98020040d2995008de10cc)
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
47f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/nr_contexts
48f968c6a4SSeongJae ParkDate:		Mar 2022
49f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
50f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
51f968c6a4SSeongJae Park		directories for controlling each DAMON context named '0' to
52f968c6a4SSeongJae Park		'N-1' under the contexts/ directory.
53f968c6a4SSeongJae Park
542fe60ec9SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/avail_operations
552fe60ec9SSeongJae ParkDate:		Apr 2022
562fe60ec9SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
572fe60ec9SSeongJae ParkDescription:	Reading this file returns the available monitoring operations
582fe60ec9SSeongJae Park		sets on the currently running kernel.
592fe60ec9SSeongJae Park
60f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/operations
61f968c6a4SSeongJae ParkDate:		Mar 2022
62f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
63f968c6a4SSeongJae ParkDescription:	Writing a keyword for a monitoring operations set ('vaddr' for
6491541808SSeongJae Park		virtual address spaces monitoring, 'fvaddr' for fixed virtual
6591541808SSeongJae Park		address ranges monitoring, and 'paddr' for the physical address
6691541808SSeongJae Park		space monitoring) to this file makes the context to use the
6791541808SSeongJae Park		operations set.  Reading the file returns the keyword for the
6891541808SSeongJae Park		operations set the context is set to use.
6991541808SSeongJae Park
7091541808SSeongJae Park		Note that only the operations sets that listed in
7191541808SSeongJae Park		'avail_operations' file are valid inputs.
72f968c6a4SSeongJae Park
73f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/sample_us
74f968c6a4SSeongJae ParkDate:		Mar 2022
75f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
76f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the sampling interval of the
77f968c6a4SSeongJae Park		DAMON context in microseconds as the value.  Reading this file
78f968c6a4SSeongJae Park		returns the value.
79f968c6a4SSeongJae Park
80f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us
81f968c6a4SSeongJae ParkDate:		Mar 2022
82f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
83f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the aggregation interval of
84f968c6a4SSeongJae Park		the DAMON context in microseconds as the value.  Reading this
85f968c6a4SSeongJae Park		file returns the value.
86f968c6a4SSeongJae Park
87f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us
88f968c6a4SSeongJae ParkDate:		Mar 2022
89f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
90f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the update interval of the
91f968c6a4SSeongJae Park		DAMON context in microseconds as the value.  Reading this file
92f968c6a4SSeongJae Park		returns the value.
93f968c6a4SSeongJae Park
94e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/access_bp
95e2b23dc6SSeongJae ParkDate:		Feb 2025
96e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
97e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the monitoring intervals
98e2b23dc6SSeongJae Park		auto-tuning target DAMON-observed access events ratio within
99e2b23dc6SSeongJae Park		the given time interval (aggrs in same directory), in bp
100e2b23dc6SSeongJae Park		(1/10,000).  Reading this file returns the value.
101e2b23dc6SSeongJae Park
102e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/aggrs
103e2b23dc6SSeongJae ParkDate:		Feb 2025
104e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
105e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the time interval to achieve
106e2b23dc6SSeongJae Park		the monitoring intervals auto-tuning target DAMON-observed
107e2b23dc6SSeongJae Park		access events ratio (access_bp in same directory) within.
108e2b23dc6SSeongJae Park		Reading this file returns the value.
109e2b23dc6SSeongJae Park
110e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/min_sample_us
111e2b23dc6SSeongJae ParkDate:		Feb 2025
112e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
113e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the minimum value of
114e2b23dc6SSeongJae Park		auto-tuned sampling interval in microseconds.  Reading this
115e2b23dc6SSeongJae Park		file returns the value.
116e2b23dc6SSeongJae Park
117e2b23dc6SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/max_sample_us
118e2b23dc6SSeongJae ParkDate:		Feb 2025
119e2b23dc6SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
120e2b23dc6SSeongJae ParkDescription:	Writing a value to this file sets the maximum value of
121e2b23dc6SSeongJae Park		auto-tuned sampling interval in microseconds.  Reading this
122e2b23dc6SSeongJae Park		file returns the value.
123e2b23dc6SSeongJae Park
124f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min
125f968c6a4SSeongJae Park
126f968c6a4SSeongJae ParkWDate:		Mar 2022
127f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
128f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the minimum number of
129f968c6a4SSeongJae Park		monitoring regions of the DAMON context as the value.  Reading
130f968c6a4SSeongJae Park		this file returns the value.
131f968c6a4SSeongJae Park
132f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max
133f968c6a4SSeongJae ParkDate:		Mar 2022
134f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
135f968c6a4SSeongJae ParkDescription:	Writing a value to this file sets the maximum number of
136f968c6a4SSeongJae Park		monitoring regions of the DAMON context as the value.  Reading
137f968c6a4SSeongJae Park		this file returns the value.
138f968c6a4SSeongJae Park
139f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/nr_targets
140f968c6a4SSeongJae ParkDate:		Mar 2022
141f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
142f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
143f968c6a4SSeongJae Park		directories for controlling each DAMON target of the context
144f968c6a4SSeongJae Park		named '0' to 'N-1' under the contexts/ directory.
145f968c6a4SSeongJae Park
146f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target
147f968c6a4SSeongJae ParkDate:		Mar 2022
148f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
149f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the pid of
150f968c6a4SSeongJae Park		the target process if the context is for virtual address spaces
151f968c6a4SSeongJae Park		monitoring, respectively.
152f968c6a4SSeongJae Park
153f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions
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 setting each DAMON target memory region of the
158f968c6a4SSeongJae Park		context named '0' to 'N-1' under the regions/ directory.  In
159f968c6a4SSeongJae Park		case of the virtual address space monitoring, DAMON
160f968c6a4SSeongJae Park		automatically sets the target memory region based on the target
161f968c6a4SSeongJae Park		processes' mappings.
162f968c6a4SSeongJae Park
163f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start
164f968c6a4SSeongJae ParkDate:		Mar 2022
165f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
166f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the start
167f968c6a4SSeongJae Park		address of the monitoring region.
168f968c6a4SSeongJae Park
169f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end
170f968c6a4SSeongJae ParkDate:		Mar 2022
171f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
172f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the end
173f968c6a4SSeongJae Park		address of the monitoring region.
174f968c6a4SSeongJae Park
175f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes
176f968c6a4SSeongJae ParkDate:		Mar 2022
177f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
178f968c6a4SSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
179f968c6a4SSeongJae Park		directories for controlling each DAMON-based operation scheme
180f968c6a4SSeongJae Park		of the context named '0' to 'N-1' under the schemes/ directory.
181f968c6a4SSeongJae Park
182f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action
183f968c6a4SSeongJae ParkDate:		Mar 2022
184f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
185f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the action
186f968c6a4SSeongJae Park		of the scheme.
187f968c6a4SSeongJae Park
188e36287c6SHyeongtak JiWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/target_nid
189e36287c6SHyeongtak JiDate:		Jun 2024
190e36287c6SHyeongtak JiContact:	SeongJae Park <sj@kernel.org>
191e36287c6SHyeongtak JiDescription:	Action's target NUMA node id.  Supported by only relevant
192e36287c6SHyeongtak Ji		actions.
193e36287c6SHyeongtak Ji
194d57d36b5SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us
195d57d36b5SSeongJae ParkDate:		Sep 2023
196d57d36b5SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
197d57d36b5SSeongJae ParkDescription:	Writing a value to this file sets the action apply interval of
198d57d36b5SSeongJae Park		the scheme in microseconds.  Reading this file returns the
199d57d36b5SSeongJae Park		value.
200d57d36b5SSeongJae Park
201f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min
202f968c6a4SSeongJae ParkDate:		Mar 2022
203f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
204ebab9426SBjorn HelgaasDescription:	Writing to and reading from this file sets and gets the minimum
205f968c6a4SSeongJae Park		size of the scheme's target regions in bytes.
206f968c6a4SSeongJae Park
207f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max
208f968c6a4SSeongJae ParkDate:		Mar 2022
209f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
210f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the maximum
211f968c6a4SSeongJae Park		size of the scheme's target regions in bytes.
212f968c6a4SSeongJae Park
213f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min
214f968c6a4SSeongJae ParkDate:		Mar 2022
215f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
216f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the manimum
217f968c6a4SSeongJae Park		'nr_accesses' of the scheme's target regions.
218f968c6a4SSeongJae Park
219f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max
220f968c6a4SSeongJae ParkDate:		Mar 2022
221f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
222f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the maximum
223f968c6a4SSeongJae Park		'nr_accesses' of the scheme's target regions.
224f968c6a4SSeongJae Park
225f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min
226f968c6a4SSeongJae ParkDate:		Mar 2022
227f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
228f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the minimum
229f968c6a4SSeongJae Park		'age' of the scheme's target regions.
230f968c6a4SSeongJae Park
231f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max
232f968c6a4SSeongJae ParkDate:		Mar 2022
233f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
234f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the maximum
235f968c6a4SSeongJae Park		'age' of the scheme's target regions.
236f968c6a4SSeongJae Park
237f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms
238f968c6a4SSeongJae ParkDate:		Mar 2022
239f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
240f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the time
241f968c6a4SSeongJae Park		quota of the scheme in milliseconds.
242f968c6a4SSeongJae Park
243f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes
244f968c6a4SSeongJae ParkDate:		Mar 2022
245f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
246f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the size
247f968c6a4SSeongJae Park		quota of the scheme in bytes.
248f968c6a4SSeongJae Park
24968c4905bSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/effective_bytes
25068c4905bSSeongJae ParkDate:		Feb 2024
25168c4905bSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
25268c4905bSSeongJae ParkDescription:	Reading from this file gets the effective size quota of the
25368c4905bSSeongJae Park		scheme in bytes, which adjusted for the time quota and goals.
25468c4905bSSeongJae Park
255f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms
256f968c6a4SSeongJae ParkDate:		Mar 2022
257f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
258f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the quotas
259f968c6a4SSeongJae Park		charge reset interval of the scheme in milliseconds.
260f968c6a4SSeongJae Park
2610972913fSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals
2620972913fSSeongJae ParkDate:		Nov 2023
2630972913fSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
2640972913fSSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
2650972913fSSeongJae Park		directories for setting automatic tuning of the scheme's
2660972913fSSeongJae Park		aggressiveness named '0' to 'N-1' under the goals/ directory.
2670972913fSSeongJae Park
268adc3908bSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_metric
269adc3908bSSeongJae ParkDate:		Feb 2024
270adc3908bSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
271adc3908bSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the quota
272adc3908bSSeongJae Park		auto-tuning goal metric.
273adc3908bSSeongJae Park
2740972913fSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value
2750972913fSSeongJae ParkDate:		Nov 2023
2760972913fSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
2770972913fSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the target
2780972913fSSeongJae Park		value of the goal metric.
2790972913fSSeongJae Park
2800972913fSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value
2810972913fSSeongJae ParkDate:		Nov 2023
2820972913fSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
2830972913fSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the current
2840972913fSSeongJae Park		value of the goal metric.
2850972913fSSeongJae Park
286f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil
287f968c6a4SSeongJae ParkDate:		Mar 2022
288f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
289f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the
290f968c6a4SSeongJae Park		under-quota limit regions prioritization weight for 'size' in
291f968c6a4SSeongJae Park		permil.
292f968c6a4SSeongJae Park
293f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil
294f968c6a4SSeongJae ParkDate:		Mar 2022
295f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
296f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the
297f968c6a4SSeongJae Park		under-quota limit regions prioritization weight for
298f968c6a4SSeongJae Park		'nr_accesses' in permil.
299f968c6a4SSeongJae Park
300f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil
301f968c6a4SSeongJae ParkDate:		Mar 2022
302f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
303f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the
304f968c6a4SSeongJae Park		under-quota limit regions prioritization weight for 'age' in
305f968c6a4SSeongJae Park		permil.
306f968c6a4SSeongJae Park
307f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric
308f968c6a4SSeongJae ParkDate:		Mar 2022
309f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
310f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the metric
311f968c6a4SSeongJae Park		of the watermarks for the scheme.  The writable/readable
312f968c6a4SSeongJae Park		keywords for this file are 'none' for disabling the watermarks
313f968c6a4SSeongJae Park		feature, or 'free_mem_rate' for the system's global free memory
314f968c6a4SSeongJae Park		rate in permil.
315f968c6a4SSeongJae Park
316f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us
317f968c6a4SSeongJae ParkDate:		Mar 2022
318f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
319f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the metric
320f968c6a4SSeongJae Park		check interval of the watermarks for the scheme in
321f968c6a4SSeongJae Park		microseconds.
322f968c6a4SSeongJae Park
323f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high
324f968c6a4SSeongJae ParkDate:		Mar 2022
325f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
326f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the high
327f968c6a4SSeongJae Park		watermark of the scheme in permil.
328f968c6a4SSeongJae Park
329f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid
330f968c6a4SSeongJae ParkDate:		Mar 2022
331f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
332f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the mid
333f968c6a4SSeongJae Park		watermark of the scheme in permil.
334f968c6a4SSeongJae Park
335f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low
336f968c6a4SSeongJae ParkDate:		Mar 2022
337f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
338f968c6a4SSeongJae ParkDescription:	Writing to and reading from this file sets and gets the low
339f968c6a4SSeongJae Park		watermark of the scheme in permil.
340f968c6a4SSeongJae Park
341497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/nr_filters
342497b099dSSeongJae ParkDate:		Dec 2022
343497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
344497b099dSSeongJae ParkDescription:	Writing a number 'N' to this file creates the number of
345497b099dSSeongJae Park		directories for setting filters of the scheme named '0' to
346497b099dSSeongJae Park		'N-1' under the filters/ directory.
347497b099dSSeongJae Park
348497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/type
349497b099dSSeongJae ParkDate:		Dec 2022
350497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
351497b099dSSeongJae ParkDescription:	Writing to and reading from this file sets and gets the type of
3522beb97fcSSeongJae Park		the memory of the interest.  'anon' for anonymous pages,
353eedbd23dSSeongJae Park		'memcg' for specific memory cgroup, 'young' for young pages,
354eedbd23dSSeongJae Park		'addr' for address range (an open-ended interval), or 'target'
355eedbd23dSSeongJae Park		for DAMON monitoring target can be written and read.
356497b099dSSeongJae Park
357497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/memcg_path
358497b099dSSeongJae ParkDate:		Dec 2022
359497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
360497b099dSSeongJae ParkDescription:	If 'memcg' is written to the 'type' file, writing to and
361497b099dSSeongJae Park		reading from this file sets and gets the path to the memory
362497b099dSSeongJae Park		cgroup of the interest.
363497b099dSSeongJae Park
3642beb97fcSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_start
3652beb97fcSSeongJae ParkDate:		Jul 2023
3662beb97fcSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
3672beb97fcSSeongJae ParkDescription:	If 'addr' is written to the 'type' file, writing to or reading
3682beb97fcSSeongJae Park		from this file sets or gets the start address of the address
3692beb97fcSSeongJae Park		range for the filter.
3702beb97fcSSeongJae Park
3712beb97fcSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_end
3722beb97fcSSeongJae ParkDate:		Jul 2023
3732beb97fcSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
3742beb97fcSSeongJae ParkDescription:	If 'addr' is written to the 'type' file, writing to or reading
3752beb97fcSSeongJae Park		from this file sets or gets the end address of the address
3762beb97fcSSeongJae Park		range for the filter.
3772beb97fcSSeongJae Park
378807db03cSUsama ArifWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/min
379807db03cSUsama ArifDate:		Feb 2025
380807db03cSUsama ArifContact:	SeongJae Park <sj@kernel.org>
381807db03cSUsama ArifDescription:	If 'hugepage_size' is written to the 'type' file, writing to
382807db03cSUsama Arif		or reading from this file sets or gets the minimum size of the
383807db03cSUsama Arif		hugepage for the filter.
384807db03cSUsama Arif
385807db03cSUsama ArifWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/max
386807db03cSUsama ArifDate:		Feb 2025
387807db03cSUsama ArifContact:	SeongJae Park <sj@kernel.org>
388807db03cSUsama ArifDescription:	If 'hugepage_size' is written to the 'type' file, writing to
389807db03cSUsama Arif		or reading from this file sets or gets the maximum size of the
390807db03cSUsama Arif		hugepage for the filter.
391807db03cSUsama Arif
392d3d21d91SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx
393d3d21d91SSeongJae ParkDate:		Dec 2022
394d3d21d91SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
395d3d21d91SSeongJae ParkDescription:	If 'target' is written to the 'type' file, writing to or
396d3d21d91SSeongJae Park		reading from this file sets or gets the index of the DAMON
397d3d21d91SSeongJae Park		monitoring target of the interest.
3982beb97fcSSeongJae Park
399497b099dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/matching
400497b099dSSeongJae ParkDate:		Dec 2022
401497b099dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4021c2ac23dSSeongJae ParkDescription:	Writing 'Y' or 'N' to this file sets whether the filter is for
4031c2ac23dSSeongJae Park		the memory of the 'type', or all except the 'type'.
4041c2ac23dSSeongJae Park
4051c2ac23dSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/allow
4061c2ac23dSSeongJae ParkDate:		Jan 2025
4071c2ac23dSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4081c2ac23dSSeongJae ParkDescription:	Writing 'Y' or 'N' to this file sets whether to allow or reject
4091c2ac23dSSeongJae Park		applying the scheme's action to the memory that satisfies the
4101c2ac23dSSeongJae Park		'type' and the 'matching' of the directory.
411497b099dSSeongJae Park
412*899e4c14SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters
413*899e4c14SSeongJae ParkDate:		Feb 2025
414*899e4c14SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
415*899e4c14SSeongJae ParkDescription:	Directory for DAMON core layer-handled DAMOS filters.  Files
416*899e4c14SSeongJae Park		under this directory works same to those of
417*899e4c14SSeongJae Park		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
418*899e4c14SSeongJae Park		directory.
419*899e4c14SSeongJae Park
420*899e4c14SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters
421*899e4c14SSeongJae ParkDate:		Feb 2025
422*899e4c14SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
423*899e4c14SSeongJae ParkDescription:	Directory for DAMON operations set layer-handled DAMOS filters.
424*899e4c14SSeongJae Park		Files under this directory works same to those of
425*899e4c14SSeongJae Park		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
426*899e4c14SSeongJae Park		directory.
427*899e4c14SSeongJae Park
428f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried
429f968c6a4SSeongJae ParkDate:		Mar 2022
430f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
431f968c6a4SSeongJae ParkDescription:	Reading this file returns the number of regions that the action
432f968c6a4SSeongJae Park		of the scheme has tried to be applied.
433f968c6a4SSeongJae Park
434f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried
435f968c6a4SSeongJae ParkDate:		Mar 2022
436f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
437f968c6a4SSeongJae ParkDescription:	Reading this file returns the total size of regions that the
438f968c6a4SSeongJae Park		action of the scheme has tried to be applied in bytes.
439f968c6a4SSeongJae Park
440f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied
441f968c6a4SSeongJae ParkDate:		Mar 2022
442f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
443f968c6a4SSeongJae ParkDescription:	Reading this file returns the number of regions that the action
444f968c6a4SSeongJae Park		of the scheme has successfully applied.
445f968c6a4SSeongJae Park
446f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied
447f968c6a4SSeongJae ParkDate:		Mar 2022
448f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
449f968c6a4SSeongJae ParkDescription:	Reading this file returns the total size of regions that the
450f968c6a4SSeongJae Park		action of the scheme has successfully applied in bytes.
451f968c6a4SSeongJae Park
452e1a1d377SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed
453e1a1d377SSeongJae ParkDate:		Dec 2024
454e1a1d377SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
455e1a1d377SSeongJae ParkDescription:	Reading this file returns the total size of memory that passed
456e1a1d377SSeongJae Park		DAMON operations layer-handled filters of the scheme in bytes.
457e1a1d377SSeongJae Park
458f968c6a4SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds
459f968c6a4SSeongJae ParkDate:		Mar 2022
460f968c6a4SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
461f968c6a4SSeongJae ParkDescription:	Reading this file returns the number of the exceed events of
462f968c6a4SSeongJae Park		the scheme's quotas.
4631b0006daSSeongJae Park
464e91b5ccfSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes
465e91b5ccfSSeongJae ParkDate:		Jul 2023
466e91b5ccfSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
467e91b5ccfSSeongJae ParkDescription:	Reading this file returns the total amount of memory that
468e91b5ccfSSeongJae Park		corresponding DAMON-based Operation Scheme's action has tried
469e91b5ccfSSeongJae Park		to be applied.
470e91b5ccfSSeongJae Park
4711b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start
4721b0006daSSeongJae ParkDate:		Oct 2022
4731b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4741b0006daSSeongJae ParkDescription:	Reading this file returns the start address of a memory region
4751b0006daSSeongJae Park		that corresponding DAMON-based Operation Scheme's action has
4761b0006daSSeongJae Park		tried to be applied.
4771b0006daSSeongJae Park
4781b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end
4791b0006daSSeongJae ParkDate:		Oct 2022
4801b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4811b0006daSSeongJae ParkDescription:	Reading this file returns the end address of a memory region
4821b0006daSSeongJae Park		that corresponding DAMON-based Operation Scheme's action has
4831b0006daSSeongJae Park		tried to be applied.
4841b0006daSSeongJae Park
4851b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/nr_accesses
4861b0006daSSeongJae ParkDate:		Oct 2022
4871b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4881b0006daSSeongJae ParkDescription:	Reading this file returns the 'nr_accesses' of a memory region
4891b0006daSSeongJae Park		that corresponding DAMON-based Operation Scheme's action has
4901b0006daSSeongJae Park		tried to be applied.
4911b0006daSSeongJae Park
4921b0006daSSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/age
4931b0006daSSeongJae ParkDate:		Oct 2022
4941b0006daSSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
4951b0006daSSeongJae ParkDescription:	Reading this file returns the 'age' of a memory region that
4961b0006daSSeongJae Park		corresponding DAMON-based Operation Scheme's action has tried
4971b0006daSSeongJae Park		to be applied.
498f1de9e69SSeongJae Park
499f1de9e69SSeongJae ParkWhat:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed
500f1de9e69SSeongJae ParkDate:		Dec 2024
501f1de9e69SSeongJae ParkContact:	SeongJae Park <sj@kernel.org>
502f1de9e69SSeongJae ParkDescription:	Reading this file returns the size of the memory in the region
503f1de9e69SSeongJae Park		that passed DAMON operations layer-handled filters of the
504f1de9e69SSeongJae Park		scheme in bytes.
505