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