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 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: 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>/refresh_ms 48Date: Jul 2025 49Contact: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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: SeongJae 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>/targets/nr_targets 161Date: Mar 2022 162Contact: SeongJae Park <sj@kernel.org> 163Description: Writing a number 'N' to this file creates the number of 164 directories for controlling each DAMON target of the context 165 named '0' to 'N-1' under the contexts/ directory. 166 167What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target 168Date: Mar 2022 169Contact: SeongJae Park <sj@kernel.org> 170Description: Writing to and reading from this file sets and gets the pid of 171 the target process if the context is for virtual address spaces 172 monitoring, respectively. 173 174What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/obsolete_target 175Date: Oct 2025 176Contact: SeongJae Park <sj@kernel.org> 177Description: Writing to and reading from this file sets and gets the 178 obsoleteness of the matching parameters commit destination 179 target. 180 181What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions 182Date: Mar 2022 183Contact: SeongJae Park <sj@kernel.org> 184Description: Writing a number 'N' to this file creates the number of 185 directories for setting each DAMON target memory region of the 186 context named '0' to 'N-1' under the regions/ directory. In 187 case of the virtual address space monitoring, DAMON 188 automatically sets the target memory region based on the target 189 processes' mappings. 190 191What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start 192Date: Mar 2022 193Contact: SeongJae Park <sj@kernel.org> 194Description: Writing to and reading from this file sets and gets the start 195 address of the monitoring region. 196 197What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end 198Date: Mar 2022 199Contact: SeongJae Park <sj@kernel.org> 200Description: Writing to and reading from this file sets and gets the end 201 address of the monitoring region. 202 203What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes 204Date: Mar 2022 205Contact: SeongJae Park <sj@kernel.org> 206Description: Writing a number 'N' to this file creates the number of 207 directories for controlling each DAMON-based operation scheme 208 of the context named '0' to 'N-1' under the schemes/ directory. 209 210What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action 211Date: Mar 2022 212Contact: SeongJae Park <sj@kernel.org> 213Description: Writing to and reading from this file sets and gets the action 214 of the scheme. 215 216What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/target_nid 217Date: Jun 2024 218Contact: SeongJae Park <sj@kernel.org> 219Description: Action's target NUMA node id. Supported by only relevant 220 actions. 221 222What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us 223Date: Sep 2023 224Contact: SeongJae Park <sj@kernel.org> 225Description: Writing a value to this file sets the action apply interval of 226 the scheme in microseconds. Reading this file returns the 227 value. 228 229What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min 230Date: Mar 2022 231Contact: SeongJae Park <sj@kernel.org> 232Description: Writing to and reading from this file sets and gets the minimum 233 size of the scheme's target regions in bytes. 234 235What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max 236Date: Mar 2022 237Contact: SeongJae Park <sj@kernel.org> 238Description: Writing to and reading from this file sets and gets the maximum 239 size of the scheme's target regions in bytes. 240 241What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min 242Date: Mar 2022 243Contact: SeongJae Park <sj@kernel.org> 244Description: Writing to and reading from this file sets and gets the manimum 245 'nr_accesses' of the scheme's target regions. 246 247What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max 248Date: Mar 2022 249Contact: SeongJae Park <sj@kernel.org> 250Description: Writing to and reading from this file sets and gets the maximum 251 'nr_accesses' of the scheme's target regions. 252 253What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min 254Date: Mar 2022 255Contact: SeongJae Park <sj@kernel.org> 256Description: Writing to and reading from this file sets and gets the minimum 257 'age' of the scheme's target regions. 258 259What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max 260Date: Mar 2022 261Contact: SeongJae Park <sj@kernel.org> 262Description: Writing to and reading from this file sets and gets the maximum 263 'age' of the scheme's target regions. 264 265What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms 266Date: Mar 2022 267Contact: SeongJae Park <sj@kernel.org> 268Description: Writing to and reading from this file sets and gets the time 269 quota of the scheme in milliseconds. 270 271What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes 272Date: Mar 2022 273Contact: SeongJae Park <sj@kernel.org> 274Description: Writing to and reading from this file sets and gets the size 275 quota of the scheme in bytes. 276 277What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/effective_bytes 278Date: Feb 2024 279Contact: SeongJae Park <sj@kernel.org> 280Description: Reading from this file gets the effective size quota of the 281 scheme in bytes, which adjusted for the time quota and goals. 282 283What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms 284Date: Mar 2022 285Contact: SeongJae Park <sj@kernel.org> 286Description: Writing to and reading from this file sets and gets the quotas 287 charge reset interval of the scheme in milliseconds. 288 289What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals 290Date: Nov 2023 291Contact: SeongJae Park <sj@kernel.org> 292Description: Writing a number 'N' to this file creates the number of 293 directories for setting automatic tuning of the scheme's 294 aggressiveness named '0' to 'N-1' under the goals/ directory. 295 296What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_metric 297Date: Feb 2024 298Contact: SeongJae Park <sj@kernel.org> 299Description: Writing to and reading from this file sets and gets the quota 300 auto-tuning goal metric. 301 302What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value 303Date: Nov 2023 304Contact: SeongJae Park <sj@kernel.org> 305Description: Writing to and reading from this file sets and gets the target 306 value of the goal metric. 307 308What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value 309Date: Nov 2023 310Contact: SeongJae Park <sj@kernel.org> 311Description: Writing to and reading from this file sets and gets the current 312 value of the goal metric. 313 314What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/nid 315Date: Apr 2025 316Contact: SeongJae Park <sj@kernel.org> 317Description: Writing to and reading from this file sets and gets the nid 318 parameter of the goal. 319 320What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/path 321Date: Oct 2025 322Contact: SeongJae Park <sj@kernel.org> 323Description: Writing to and reading from this file sets and gets the path 324 parameter of the goal. 325 326What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goal_tuner 327Date: Mar 2026 328Contact: SeongJae Park <sj@kernel.org> 329Description: Writing to and reading from this file sets and gets the 330 goal-based effective quota auto-tuning algorithm to use. 331 332What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/fail_charge_num 333Date: Mar 2026 334Contact: SeongJae Park <sj@kernel.org> 335Description: Writing to and reading from this file sets and gets the 336 action-failed memory quota charging ratio numerator. 337 338What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/fail_charge_denom 339Date: Mar 2026 340Contact: SeongJae Park <sj@kernel.org> 341Description: Writing to and reading from this file sets and gets the 342 action-failed memory quota charging ratio denominator. 343 344What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil 345Date: Mar 2022 346Contact: SeongJae Park <sj@kernel.org> 347Description: Writing to and reading from this file sets and gets the 348 under-quota limit regions prioritization weight for 'size' in 349 permil. 350 351What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil 352Date: Mar 2022 353Contact: SeongJae Park <sj@kernel.org> 354Description: Writing to and reading from this file sets and gets the 355 under-quota limit regions prioritization weight for 356 'nr_accesses' in permil. 357 358What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil 359Date: Mar 2022 360Contact: SeongJae Park <sj@kernel.org> 361Description: Writing to and reading from this file sets and gets the 362 under-quota limit regions prioritization weight for 'age' in 363 permil. 364 365What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric 366Date: Mar 2022 367Contact: SeongJae Park <sj@kernel.org> 368Description: Writing to and reading from this file sets and gets the metric 369 of the watermarks for the scheme. The writable/readable 370 keywords for this file are 'none' for disabling the watermarks 371 feature, or 'free_mem_rate' for the system's global free memory 372 rate in permil. 373 374What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us 375Date: Mar 2022 376Contact: SeongJae Park <sj@kernel.org> 377Description: Writing to and reading from this file sets and gets the metric 378 check interval of the watermarks for the scheme in 379 microseconds. 380 381What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high 382Date: Mar 2022 383Contact: SeongJae Park <sj@kernel.org> 384Description: Writing to and reading from this file sets and gets the high 385 watermark of the scheme in permil. 386 387What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid 388Date: Mar 2022 389Contact: SeongJae Park <sj@kernel.org> 390Description: Writing to and reading from this file sets and gets the mid 391 watermark of the scheme in permil. 392 393What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low 394Date: Mar 2022 395Contact: SeongJae Park <sj@kernel.org> 396Description: Writing to and reading from this file sets and gets the low 397 watermark of the scheme in permil. 398 399What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters 400Date: Feb 2025 401Contact: SeongJae Park <sj@kernel.org> 402Description: Directory for DAMON core layer-handled DAMOS filters. 403 404What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/nr_filters 405Date: Feb 2025 406Contact: SeongJae Park <sj@kernel.org> 407Description: Writing a number 'N' to this file creates the number of 408 directories for setting filters of the scheme named '0' to 409 'N-1' under the core_filters/ directory. 410 411What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/type 412Date: Feb 2025 413Contact: SeongJae Park <sj@kernel.org> 414Description: Writing to and reading from this file sets and gets the type of 415 the memory of the interest. 'anon' for anonymous pages, 416 'memcg' for specific memory cgroup, 'young' for young pages, 417 'addr' for address range (an open-ended interval), or 'target' 418 for DAMON monitoring target can be written and read. 419 420What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/memcg_path 421Date: Feb 2025 422Contact: SeongJae Park <sj@kernel.org> 423Description: If 'memcg' is written to the 'type' file, writing to and 424 reading from this file sets and gets the path to the memory 425 cgroup of the interest. 426 427What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/addr_start 428Date: Feb 2025 429Contact: SeongJae Park <sj@kernel.org> 430Description: If 'addr' is written to the 'type' file, writing to or reading 431 from this file sets or gets the start address of the address 432 range for the filter. 433 434What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/addr_end 435Date: Feb 2025 436Contact: SeongJae Park <sj@kernel.org> 437Description: If 'addr' is written to the 'type' file, writing to or reading 438 from this file sets or gets the end address of the address 439 range for the filter. 440 441What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/min 442Date: Feb 2025 443Contact: SeongJae Park <sj@kernel.org> 444Description: If 'hugepage_size' is written to the 'type' file, writing to 445 or reading from this file sets or gets the minimum size of the 446 hugepage for the filter. 447 448What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/max 449Date: Feb 2025 450Contact: SeongJae Park <sj@kernel.org> 451Description: If 'hugepage_size' is written to the 'type' file, writing to 452 or reading from this file sets or gets the maximum size of the 453 hugepage for the filter. 454 455What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/damon_target_idx 456Date: Feb 2025 457Contact: SeongJae Park <sj@kernel.org> 458Description: If 'target' is written to the 'type' file, writing to or 459 reading from this file sets or gets the index of the DAMON 460 monitoring target of the interest. 461 462What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/matching 463Date: Feb 2025 464Contact: SeongJae Park <sj@kernel.org> 465Description: Writing 'Y' or 'N' to this file sets whether the filter is for 466 the memory of the 'type', or all except the 'type'. 467 468What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters/<F>/allow 469Date: Feb 2025 470Contact: SeongJae Park <sj@kernel.org> 471Description: Writing 'Y' or 'N' to this file sets whether to allow or reject 472 applying the scheme's action to the memory that satisfies the 473 'type' and the 'matching' of the directory. 474 475What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters 476Date: Feb 2025 477Contact: SeongJae Park <sj@kernel.org> 478Description: Directory for DAMON operations set layer-handled DAMOS filters. 479 Files under this directory works same to those of 480 /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters 481 directory. 482 483What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters 484Date: Dec 2022 485Contact: SeongJae Park <sj@kernel.org> 486Description: Directory for DAMOS filters. Files under this directory works 487 same to those of 488 /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/{core,ops}_filters 489 directory. This is deprecated. Use the core_filters and 490 ops_filters instead. 491 492What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/nr_dests 493Date: Jul 2025 494Contact: SeongJae Park <sj@kernel.org> 495Description: Writing a number 'N' to this file creates the number of 496 directories for setting action destinations of the scheme named 497 '0' to 'N-1' under the dests/ directory. 498 499What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/id 500Date: Jul 2025 501Contact: SeongJae Park <sj@kernel.org> 502Description: Writing to and reading from this file sets and gets the id of 503 the DAMOS action destination. For DAMOS_MIGRATE_{HOT,COLD} 504 actions, the destination node's node id can be written and 505 read. 506 507What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/weight 508Date: Jul 2025 509Contact: SeongJae Park <sj@kernel.org> 510Description: Writing to and reading from this file sets and gets the weight 511 of the DAMOS action destination to select as the destination of 512 each action among the destinations. 513 514What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried 515Date: Mar 2022 516Contact: SeongJae Park <sj@kernel.org> 517Description: Reading this file returns the number of regions that the action 518 of the scheme has tried to be applied. 519 520What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried 521Date: Mar 2022 522Contact: SeongJae Park <sj@kernel.org> 523Description: Reading this file returns the total size of regions that the 524 action of the scheme has tried to be applied in bytes. 525 526What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied 527Date: Mar 2022 528Contact: SeongJae Park <sj@kernel.org> 529Description: Reading this file returns the number of regions that the action 530 of the scheme has successfully applied. 531 532What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied 533Date: Mar 2022 534Contact: SeongJae Park <sj@kernel.org> 535Description: Reading this file returns the total size of regions that the 536 action of the scheme has successfully applied in bytes. 537 538What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed 539Date: Dec 2024 540Contact: SeongJae Park <sj@kernel.org> 541Description: Reading this file returns the total size of memory that passed 542 DAMON operations layer-handled filters of the scheme in bytes. 543 544What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds 545Date: Mar 2022 546Contact: SeongJae Park <sj@kernel.org> 547Description: Reading this file returns the number of the exceed events of 548 the scheme's quotas. 549 550What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_snapshots 551Date: Dec 2025 552Contact: SeongJae Park <sj@kernel.org> 553Description: Reading this file returns the total number of DAMON snapshots 554 that the scheme has tried to be applied. 555 556What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/max_nr_snapshots 557Date: Dec 2025 558Contact: SeongJae Park <sj@kernel.org> 559Description: Writing a number to this file sets the upper limit of 560 nr_snapshots that deactivates the scheme when the limit is 561 reached or exceeded. 562 563What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes 564Date: Jul 2023 565Contact: SeongJae Park <sj@kernel.org> 566Description: Reading this file returns the total amount of memory that 567 corresponding DAMON-based Operation Scheme's action has tried 568 to be applied. 569 570What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start 571Date: Oct 2022 572Contact: SeongJae Park <sj@kernel.org> 573Description: Reading this file returns the start address of a memory region 574 that corresponding DAMON-based Operation Scheme's action has 575 tried to be applied. 576 577What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end 578Date: Oct 2022 579Contact: SeongJae Park <sj@kernel.org> 580Description: Reading this file returns the end address of a memory region 581 that corresponding DAMON-based Operation Scheme's action has 582 tried to be applied. 583 584What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/nr_accesses 585Date: Oct 2022 586Contact: SeongJae Park <sj@kernel.org> 587Description: Reading this file returns the 'nr_accesses' of a memory region 588 that corresponding DAMON-based Operation Scheme's action has 589 tried to be applied. 590 591What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/age 592Date: Oct 2022 593Contact: SeongJae Park <sj@kernel.org> 594Description: Reading this file returns the 'age' of a memory region that 595 corresponding DAMON-based Operation Scheme's action has tried 596 to be applied. 597 598What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed 599Date: Dec 2024 600Contact: SeongJae Park <sj@kernel.org> 601Description: Reading this file returns the size of the memory in the region 602 that passed DAMON operations layer-handled filters of the 603 scheme in bytes. 604