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