Docs/ABI/damon: update for 'youg page' type DAMOS filter
[linux-2.6-block.git] / Documentation / ABI / testing / sysfs-kernel-mm-damon
CommitLineData
f968c6a4
SP
1what: /sys/kernel/mm/damon/
2Date: Mar 2022
3Contact: SeongJae Park <sj@kernel.org>
4Description: Interface for Data Access MONitoring (DAMON). Contains files
5 for controlling DAMON. For more details on DAMON itself,
6 please refer to Documentation/admin-guide/mm/damon/index.rst.
7
8What: /sys/kernel/mm/damon/admin/
9Date: Mar 2022
10Contact: SeongJae Park <sj@kernel.org>
11Description: Interface for privileged users of DAMON. Contains files for
12 controlling DAMON that aimed to be used by privileged users.
13
14What: /sys/kernel/mm/damon/admin/kdamonds/nr_kdamonds
15Date: Mar 2022
16Contact: SeongJae Park <sj@kernel.org>
17Description: Writing a number 'N' to this file creates the number of
18 directories for controlling each DAMON worker thread (kdamond)
19 named '0' to 'N-1' under the kdamonds/ directory.
20
21What: /sys/kernel/mm/damon/admin/kdamonds/<K>/state
22Date: Mar 2022
23Contact: SeongJae Park <sj@kernel.org>
24Description: Writing 'on' or 'off' to this file makes the kdamond starts or
25 stops, respectively. Reading the file returns the keywords
adc286e6
SP
26 based on the current status. Writing 'commit' to this file
27 makes the kdamond reads the user inputs in the sysfs files
0972913f
SP
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
e91b5ccf 36 kdamond. Writing 'clear_schemes_tried_regions' to the file
68c4905b
SP
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.
f968c6a4
SP
40
41What: /sys/kernel/mm/damon/admin/kdamonds/<K>/pid
42Date: Mar 2022
43Contact: SeongJae Park <sj@kernel.org>
44Description: Reading this file returns the pid of the kdamond if it is
45 running.
46
47What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/nr_contexts
48Date: Mar 2022
49Contact: SeongJae Park <sj@kernel.org>
50Description: Writing a number 'N' to this file creates the number of
51 directories for controlling each DAMON context named '0' to
52 'N-1' under the contexts/ directory.
53
2fe60ec9
SP
54What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/avail_operations
55Date: Apr 2022
56Contact: SeongJae Park <sj@kernel.org>
57Description: Reading this file returns the available monitoring operations
58 sets on the currently running kernel.
59
f968c6a4
SP
60What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/operations
61Date: Mar 2022
62Contact: SeongJae Park <sj@kernel.org>
63Description: Writing a keyword for a monitoring operations set ('vaddr' for
91541808
SP
64 virtual address spaces monitoring, 'fvaddr' for fixed virtual
65 address ranges monitoring, and 'paddr' for the physical address
66 space monitoring) to this file makes the context to use the
67 operations set. Reading the file returns the keyword for the
68 operations set the context is set to use.
69
70 Note that only the operations sets that listed in
71 'avail_operations' file are valid inputs.
f968c6a4
SP
72
73What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/sample_us
74Date: Mar 2022
75Contact: SeongJae Park <sj@kernel.org>
76Description: Writing a value to this file sets the sampling interval of the
77 DAMON context in microseconds as the value. Reading this file
78 returns the value.
79
80What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us
81Date: Mar 2022
82Contact: SeongJae Park <sj@kernel.org>
83Description: Writing a value to this file sets the aggregation interval of
84 the DAMON context in microseconds as the value. Reading this
85 file returns the value.
86
87What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us
88Date: Mar 2022
89Contact: SeongJae Park <sj@kernel.org>
90Description: Writing a value to this file sets the update interval of the
91 DAMON context in microseconds as the value. Reading this file
92 returns the value.
93
94What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min
95
96WDate: Mar 2022
97Contact: SeongJae Park <sj@kernel.org>
98Description: Writing a value to this file sets the minimum number of
99 monitoring regions of the DAMON context as the value. Reading
100 this file returns the value.
101
102What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max
103Date: Mar 2022
104Contact: SeongJae Park <sj@kernel.org>
105Description: Writing a value to this file sets the maximum number of
106 monitoring regions of the DAMON context as the value. Reading
107 this file returns the value.
108
109What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/nr_targets
110Date: Mar 2022
111Contact: SeongJae Park <sj@kernel.org>
112Description: Writing a number 'N' to this file creates the number of
113 directories for controlling each DAMON target of the context
114 named '0' to 'N-1' under the contexts/ directory.
115
116What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target
117Date: Mar 2022
118Contact: SeongJae Park <sj@kernel.org>
119Description: Writing to and reading from this file sets and gets the pid of
120 the target process if the context is for virtual address spaces
121 monitoring, respectively.
122
123What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions
124Date: Mar 2022
125Contact: SeongJae Park <sj@kernel.org>
126Description: Writing a number 'N' to this file creates the number of
127 directories for setting each DAMON target memory region of the
128 context named '0' to 'N-1' under the regions/ directory. In
129 case of the virtual address space monitoring, DAMON
130 automatically sets the target memory region based on the target
131 processes' mappings.
132
133What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start
134Date: Mar 2022
135Contact: SeongJae Park <sj@kernel.org>
136Description: Writing to and reading from this file sets and gets the start
137 address of the monitoring region.
138
139What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end
140Date: Mar 2022
141Contact: SeongJae Park <sj@kernel.org>
142Description: Writing to and reading from this file sets and gets the end
143 address of the monitoring region.
144
145What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes
146Date: Mar 2022
147Contact: SeongJae Park <sj@kernel.org>
148Description: Writing a number 'N' to this file creates the number of
149 directories for controlling each DAMON-based operation scheme
150 of the context named '0' to 'N-1' under the schemes/ directory.
151
152What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action
153Date: Mar 2022
154Contact: SeongJae Park <sj@kernel.org>
155Description: Writing to and reading from this file sets and gets the action
156 of the scheme.
157
d57d36b5
SP
158What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us
159Date: Sep 2023
160Contact: SeongJae Park <sj@kernel.org>
161Description: Writing a value to this file sets the action apply interval of
162 the scheme in microseconds. Reading this file returns the
163 value.
164
f968c6a4
SP
165What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min
166Date: Mar 2022
167Contact: SeongJae Park <sj@kernel.org>
ebab9426 168Description: Writing to and reading from this file sets and gets the minimum
f968c6a4
SP
169 size of the scheme's target regions in bytes.
170
171What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max
172Date: Mar 2022
173Contact: SeongJae Park <sj@kernel.org>
174Description: Writing to and reading from this file sets and gets the maximum
175 size of the scheme's target regions in bytes.
176
177What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min
178Date: Mar 2022
179Contact: SeongJae Park <sj@kernel.org>
180Description: Writing to and reading from this file sets and gets the manimum
181 'nr_accesses' of the scheme's target regions.
182
183What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max
184Date: Mar 2022
185Contact: SeongJae Park <sj@kernel.org>
186Description: Writing to and reading from this file sets and gets the maximum
187 'nr_accesses' of the scheme's target regions.
188
189What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min
190Date: Mar 2022
191Contact: SeongJae Park <sj@kernel.org>
192Description: Writing to and reading from this file sets and gets the minimum
193 'age' of the scheme's target regions.
194
195What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max
196Date: Mar 2022
197Contact: SeongJae Park <sj@kernel.org>
198Description: Writing to and reading from this file sets and gets the maximum
199 'age' of the scheme's target regions.
200
201What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms
202Date: Mar 2022
203Contact: SeongJae Park <sj@kernel.org>
204Description: Writing to and reading from this file sets and gets the time
205 quota of the scheme in milliseconds.
206
207What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes
208Date: Mar 2022
209Contact: SeongJae Park <sj@kernel.org>
210Description: Writing to and reading from this file sets and gets the size
211 quota of the scheme in bytes.
212
68c4905b
SP
213What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/effective_bytes
214Date: Feb 2024
215Contact: SeongJae Park <sj@kernel.org>
216Description: Reading from this file gets the effective size quota of the
217 scheme in bytes, which adjusted for the time quota and goals.
218
f968c6a4
SP
219What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms
220Date: Mar 2022
221Contact: SeongJae Park <sj@kernel.org>
222Description: Writing to and reading from this file sets and gets the quotas
223 charge reset interval of the scheme in milliseconds.
224
0972913f
SP
225What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals
226Date: Nov 2023
227Contact: SeongJae Park <sj@kernel.org>
228Description: Writing a number 'N' to this file creates the number of
229 directories for setting automatic tuning of the scheme's
230 aggressiveness named '0' to 'N-1' under the goals/ directory.
231
adc3908b
SP
232What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_metric
233Date: Feb 2024
234Contact: SeongJae Park <sj@kernel.org>
235Description: Writing to and reading from this file sets and gets the quota
236 auto-tuning goal metric.
237
0972913f
SP
238What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value
239Date: Nov 2023
240Contact: SeongJae Park <sj@kernel.org>
241Description: Writing to and reading from this file sets and gets the target
242 value of the goal metric.
243
244What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value
245Date: Nov 2023
246Contact: SeongJae Park <sj@kernel.org>
247Description: Writing to and reading from this file sets and gets the current
248 value of the goal metric.
249
f968c6a4
SP
250What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil
251Date: Mar 2022
252Contact: SeongJae Park <sj@kernel.org>
253Description: Writing to and reading from this file sets and gets the
254 under-quota limit regions prioritization weight for 'size' in
255 permil.
256
257What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil
258Date: Mar 2022
259Contact: SeongJae Park <sj@kernel.org>
260Description: Writing to and reading from this file sets and gets the
261 under-quota limit regions prioritization weight for
262 'nr_accesses' in permil.
263
264What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil
265Date: Mar 2022
266Contact: SeongJae Park <sj@kernel.org>
267Description: Writing to and reading from this file sets and gets the
268 under-quota limit regions prioritization weight for 'age' in
269 permil.
270
271What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric
272Date: Mar 2022
273Contact: SeongJae Park <sj@kernel.org>
274Description: Writing to and reading from this file sets and gets the metric
275 of the watermarks for the scheme. The writable/readable
276 keywords for this file are 'none' for disabling the watermarks
277 feature, or 'free_mem_rate' for the system's global free memory
278 rate in permil.
279
280What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us
281Date: Mar 2022
282Contact: SeongJae Park <sj@kernel.org>
283Description: Writing to and reading from this file sets and gets the metric
284 check interval of the watermarks for the scheme in
285 microseconds.
286
287What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high
288Date: Mar 2022
289Contact: SeongJae Park <sj@kernel.org>
290Description: Writing to and reading from this file sets and gets the high
291 watermark of the scheme in permil.
292
293What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid
294Date: Mar 2022
295Contact: SeongJae Park <sj@kernel.org>
296Description: Writing to and reading from this file sets and gets the mid
297 watermark of the scheme in permil.
298
299What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low
300Date: Mar 2022
301Contact: SeongJae Park <sj@kernel.org>
302Description: Writing to and reading from this file sets and gets the low
303 watermark of the scheme in permil.
304
497b099d
SP
305What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/nr_filters
306Date: Dec 2022
307Contact: SeongJae Park <sj@kernel.org>
308Description: Writing a number 'N' to this file creates the number of
309 directories for setting filters of the scheme named '0' to
310 'N-1' under the filters/ directory.
311
312What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/type
313Date: Dec 2022
314Contact: SeongJae Park <sj@kernel.org>
315Description: Writing to and reading from this file sets and gets the type of
2beb97fc 316 the memory of the interest. 'anon' for anonymous pages,
eedbd23d
SP
317 'memcg' for specific memory cgroup, 'young' for young pages,
318 'addr' for address range (an open-ended interval), or 'target'
319 for DAMON monitoring target can be written and read.
497b099d
SP
320
321What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/memcg_path
322Date: Dec 2022
323Contact: SeongJae Park <sj@kernel.org>
324Description: If 'memcg' is written to the 'type' file, writing to and
325 reading from this file sets and gets the path to the memory
326 cgroup of the interest.
327
2beb97fc
SP
328What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_start
329Date: Jul 2023
330Contact: SeongJae Park <sj@kernel.org>
331Description: If 'addr' is written to the 'type' file, writing to or reading
332 from this file sets or gets the start address of the address
333 range for the filter.
334
335What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_end
336Date: Jul 2023
337Contact: SeongJae Park <sj@kernel.org>
338Description: If 'addr' is written to the 'type' file, writing to or reading
339 from this file sets or gets the end address of the address
340 range for the filter.
341
d3d21d91
SP
342What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx
343Date: Dec 2022
344Contact: SeongJae Park <sj@kernel.org>
345Description: If 'target' is written to the 'type' file, writing to or
346 reading from this file sets or gets the index of the DAMON
347 monitoring target of the interest.
2beb97fc 348
497b099d
SP
349What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/matching
350Date: Dec 2022
351Contact: SeongJae Park <sj@kernel.org>
352Description: Writing 'Y' or 'N' to this file sets whether to filter out
353 pages that do or do not match to the 'type' and 'memcg_path',
354 respectively. Filter out means the action of the scheme will
355 not be applied to.
356
f968c6a4
SP
357What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried
358Date: Mar 2022
359Contact: SeongJae Park <sj@kernel.org>
360Description: Reading this file returns the number of regions that the action
361 of the scheme has tried to be applied.
362
363What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried
364Date: Mar 2022
365Contact: SeongJae Park <sj@kernel.org>
366Description: Reading this file returns the total size of regions that the
367 action of the scheme has tried to be applied in bytes.
368
369What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied
370Date: Mar 2022
371Contact: SeongJae Park <sj@kernel.org>
372Description: Reading this file returns the number of regions that the action
373 of the scheme has successfully applied.
374
375What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied
376Date: Mar 2022
377Contact: SeongJae Park <sj@kernel.org>
378Description: Reading this file returns the total size of regions that the
379 action of the scheme has successfully applied in bytes.
380
381What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds
382Date: Mar 2022
383Contact: SeongJae Park <sj@kernel.org>
384Description: Reading this file returns the number of the exceed events of
385 the scheme's quotas.
1b0006da 386
e91b5ccf
SP
387What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes
388Date: Jul 2023
389Contact: SeongJae Park <sj@kernel.org>
390Description: Reading this file returns the total amount of memory that
391 corresponding DAMON-based Operation Scheme's action has tried
392 to be applied.
393
1b0006da
SP
394What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start
395Date: Oct 2022
396Contact: SeongJae Park <sj@kernel.org>
397Description: Reading this file returns the start address of a memory region
398 that corresponding DAMON-based Operation Scheme's action has
399 tried to be applied.
400
401What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end
402Date: Oct 2022
403Contact: SeongJae Park <sj@kernel.org>
404Description: Reading this file returns the end address of a memory region
405 that corresponding DAMON-based Operation Scheme's action has
406 tried to be applied.
407
408What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/nr_accesses
409Date: Oct 2022
410Contact: SeongJae Park <sj@kernel.org>
411Description: Reading this file returns the 'nr_accesses' of a memory region
412 that corresponding DAMON-based Operation Scheme's action has
413 tried to be applied.
414
415What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/age
416Date: Oct 2022
417Contact: SeongJae Park <sj@kernel.org>
418Description: Reading this file returns the 'age' of a memory region that
419 corresponding DAMON-based Operation Scheme's action has tried
420 to be applied.