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