1f968c6a4SSeongJae Parkwhat: /sys/kernel/mm/damon/ 2f968c6a4SSeongJae ParkDate: Mar 2022 3f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 4f968c6a4SSeongJae ParkDescription: Interface for Data Access MONitoring (DAMON). Contains files 5f968c6a4SSeongJae Park for controlling DAMON. For more details on DAMON itself, 6f968c6a4SSeongJae Park please refer to Documentation/admin-guide/mm/damon/index.rst. 7f968c6a4SSeongJae Park 8f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/ 9f968c6a4SSeongJae ParkDate: Mar 2022 10f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 11f968c6a4SSeongJae ParkDescription: Interface for privileged users of DAMON. Contains files for 12f968c6a4SSeongJae Park controlling DAMON that aimed to be used by privileged users. 13f968c6a4SSeongJae Park 14f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/nr_kdamonds 15f968c6a4SSeongJae ParkDate: Mar 2022 16f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 17f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 18f968c6a4SSeongJae Park directories for controlling each DAMON worker thread (kdamond) 19f968c6a4SSeongJae Park named '0' to 'N-1' under the kdamonds/ directory. 20f968c6a4SSeongJae Park 21f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/state 22f968c6a4SSeongJae ParkDate: Mar 2022 23f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 24f968c6a4SSeongJae ParkDescription: Writing 'on' or 'off' to this file makes the kdamond starts or 25f968c6a4SSeongJae Park stops, respectively. Reading the file returns the keywords 26adc286e6SSeongJae Park based on the current status. Writing 'commit' to this file 27adc286e6SSeongJae Park makes the kdamond reads the user inputs in the sysfs files 280972913fSSeongJae Park except 'state' again. Writing 'commit_schemes_quota_goals' to 290972913fSSeongJae Park this file makes the kdamond reads the quota goal files again. 300972913fSSeongJae Park Writing 'update_schemes_stats' to the file updates contents of 310972913fSSeongJae Park schemes stats files of the kdamond. Writing 320972913fSSeongJae Park 'update_schemes_tried_regions' to the file updates contents of 330972913fSSeongJae Park 'tried_regions' directory of every scheme directory of this 340972913fSSeongJae Park kdamond. Writing 'update_schemes_tried_bytes' to the file 350972913fSSeongJae Park updates only '.../tried_regions/total_bytes' files of this 36e91b5ccfSSeongJae Park kdamond. Writing 'clear_schemes_tried_regions' to the file 3768c4905bSSeongJae Park removes contents of the 'tried_regions' directory. Writing 3868c4905bSSeongJae Park 'update_schemes_effective_quotas' to the file updates 3968c4905bSSeongJae Park '.../quotas/effective_bytes' files of this kdamond. 40f968c6a4SSeongJae Park 41f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/pid 42f968c6a4SSeongJae ParkDate: Mar 2022 43f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 44f968c6a4SSeongJae ParkDescription: Reading this file returns the pid of the kdamond if it is 45f968c6a4SSeongJae Park running. 46f968c6a4SSeongJae Park 47cc1c6724SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/refresh_ms 48cc1c6724SSeongJae ParkDate: Jul 2025 49cc1c6724SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 50cc1c6724SSeongJae ParkDescription: Writing a value to this file sets the time interval for 51cc1c6724SSeongJae Park automatic DAMON status file contents update. Writing '0' 52cc1c6724SSeongJae Park disables the update. Reading this file returns the value. 53cc1c6724SSeongJae Park 54f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/nr_contexts 55f968c6a4SSeongJae ParkDate: Mar 2022 56f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 57f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 58f968c6a4SSeongJae Park directories for controlling each DAMON context named '0' to 59f968c6a4SSeongJae Park 'N-1' under the contexts/ directory. 60f968c6a4SSeongJae Park 612fe60ec9SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/avail_operations 622fe60ec9SSeongJae ParkDate: Apr 2022 632fe60ec9SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 642fe60ec9SSeongJae ParkDescription: Reading this file returns the available monitoring operations 652fe60ec9SSeongJae Park sets on the currently running kernel. 662fe60ec9SSeongJae Park 67f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/operations 68f968c6a4SSeongJae ParkDate: Mar 2022 69f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 70f968c6a4SSeongJae ParkDescription: Writing a keyword for a monitoring operations set ('vaddr' for 7191541808SSeongJae Park virtual address spaces monitoring, 'fvaddr' for fixed virtual 7291541808SSeongJae Park address ranges monitoring, and 'paddr' for the physical address 7391541808SSeongJae Park space monitoring) to this file makes the context to use the 7491541808SSeongJae Park operations set. Reading the file returns the keyword for the 7591541808SSeongJae Park operations set the context is set to use. 7691541808SSeongJae Park 7791541808SSeongJae Park Note that only the operations sets that listed in 7891541808SSeongJae Park 'avail_operations' file are valid inputs. 79f968c6a4SSeongJae Park 80*56cd1940SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/addr_unit 81*56cd1940SSeongJae ParkDate: Aug 2025 82*56cd1940SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 83*56cd1940SSeongJae ParkDescription: Writing an integer to this file sets the 'address unit' 84*56cd1940SSeongJae Park parameter of the given operations set of the context. Reading 85*56cd1940SSeongJae Park the file returns the last-written 'address unit' value. 86*56cd1940SSeongJae Park 87f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/sample_us 88f968c6a4SSeongJae ParkDate: Mar 2022 89f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 90f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the sampling interval of the 91f968c6a4SSeongJae Park DAMON context in microseconds as the value. Reading this file 92f968c6a4SSeongJae Park returns the value. 93f968c6a4SSeongJae Park 94f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us 95f968c6a4SSeongJae ParkDate: Mar 2022 96f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 97f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the aggregation interval of 98f968c6a4SSeongJae Park the DAMON context in microseconds as the value. Reading this 99f968c6a4SSeongJae Park file returns the value. 100f968c6a4SSeongJae Park 101f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us 102f968c6a4SSeongJae ParkDate: Mar 2022 103f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 104f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the update interval of the 105f968c6a4SSeongJae Park DAMON context in microseconds as the value. Reading this file 106f968c6a4SSeongJae Park returns the value. 107f968c6a4SSeongJae Park 108e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/access_bp 109e2b23dc6SSeongJae ParkDate: Feb 2025 110e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 111e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the monitoring intervals 112e2b23dc6SSeongJae Park auto-tuning target DAMON-observed access events ratio within 113e2b23dc6SSeongJae Park the given time interval (aggrs in same directory), in bp 114e2b23dc6SSeongJae Park (1/10,000). Reading this file returns the value. 115e2b23dc6SSeongJae Park 116e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/aggrs 117e2b23dc6SSeongJae ParkDate: Feb 2025 118e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 119e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the time interval to achieve 120e2b23dc6SSeongJae Park the monitoring intervals auto-tuning target DAMON-observed 121e2b23dc6SSeongJae Park access events ratio (access_bp in same directory) within. 122e2b23dc6SSeongJae Park Reading this file returns the value. 123e2b23dc6SSeongJae Park 124e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/min_sample_us 125e2b23dc6SSeongJae ParkDate: Feb 2025 126e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 127e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the minimum value of 128e2b23dc6SSeongJae Park auto-tuned sampling interval in microseconds. Reading this 129e2b23dc6SSeongJae Park file returns the value. 130e2b23dc6SSeongJae Park 131e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/max_sample_us 132e2b23dc6SSeongJae ParkDate: Feb 2025 133e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 134e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the maximum value of 135e2b23dc6SSeongJae Park auto-tuned sampling interval in microseconds. Reading this 136e2b23dc6SSeongJae Park file returns the value. 137e2b23dc6SSeongJae Park 138f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min 139f968c6a4SSeongJae Park 140f968c6a4SSeongJae ParkWDate: Mar 2022 141f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 142f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the minimum number of 143f968c6a4SSeongJae Park monitoring regions of the DAMON context as the value. Reading 144f968c6a4SSeongJae Park this file returns the value. 145f968c6a4SSeongJae Park 146f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max 147f968c6a4SSeongJae ParkDate: Mar 2022 148f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 149f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the maximum number of 150f968c6a4SSeongJae Park monitoring regions of the DAMON context as the value. Reading 151f968c6a4SSeongJae Park this file returns the value. 152f968c6a4SSeongJae Park 153f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/nr_targets 154f968c6a4SSeongJae ParkDate: Mar 2022 155f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 156f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 157f968c6a4SSeongJae Park directories for controlling each DAMON target of the context 158f968c6a4SSeongJae Park named '0' to 'N-1' under the contexts/ directory. 159f968c6a4SSeongJae Park 160f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target 161f968c6a4SSeongJae ParkDate: Mar 2022 162f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 163f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the pid of 164f968c6a4SSeongJae Park the target process if the context is for virtual address spaces 165f968c6a4SSeongJae Park monitoring, respectively. 166f968c6a4SSeongJae Park 167f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions 168f968c6a4SSeongJae ParkDate: Mar 2022 169f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 170f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 171f968c6a4SSeongJae Park directories for setting each DAMON target memory region of the 172f968c6a4SSeongJae Park context named '0' to 'N-1' under the regions/ directory. In 173f968c6a4SSeongJae Park case of the virtual address space monitoring, DAMON 174f968c6a4SSeongJae Park automatically sets the target memory region based on the target 175f968c6a4SSeongJae Park processes' mappings. 176f968c6a4SSeongJae Park 177f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start 178f968c6a4SSeongJae ParkDate: Mar 2022 179f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 180f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the start 181f968c6a4SSeongJae Park address of the monitoring region. 182f968c6a4SSeongJae Park 183f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end 184f968c6a4SSeongJae ParkDate: Mar 2022 185f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 186f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the end 187f968c6a4SSeongJae Park address of the monitoring region. 188f968c6a4SSeongJae Park 189f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes 190f968c6a4SSeongJae ParkDate: Mar 2022 191f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 192f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 193f968c6a4SSeongJae Park directories for controlling each DAMON-based operation scheme 194f968c6a4SSeongJae Park of the context named '0' to 'N-1' under the schemes/ directory. 195f968c6a4SSeongJae Park 196f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action 197f968c6a4SSeongJae ParkDate: Mar 2022 198f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 199f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the action 200f968c6a4SSeongJae Park of the scheme. 201f968c6a4SSeongJae Park 202e36287c6SHyeongtak JiWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/target_nid 203e36287c6SHyeongtak JiDate: Jun 2024 204e36287c6SHyeongtak JiContact: SeongJae Park <sj@kernel.org> 205e36287c6SHyeongtak JiDescription: Action's target NUMA node id. Supported by only relevant 206e36287c6SHyeongtak Ji actions. 207e36287c6SHyeongtak Ji 208d57d36b5SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us 209d57d36b5SSeongJae ParkDate: Sep 2023 210d57d36b5SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 211d57d36b5SSeongJae ParkDescription: Writing a value to this file sets the action apply interval of 212d57d36b5SSeongJae Park the scheme in microseconds. Reading this file returns the 213d57d36b5SSeongJae Park value. 214d57d36b5SSeongJae Park 215f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min 216f968c6a4SSeongJae ParkDate: Mar 2022 217f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 218ebab9426SBjorn HelgaasDescription: Writing to and reading from this file sets and gets the minimum 219f968c6a4SSeongJae Park size of the scheme's target regions in bytes. 220f968c6a4SSeongJae Park 221f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max 222f968c6a4SSeongJae ParkDate: Mar 2022 223f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 224f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 225f968c6a4SSeongJae Park size of the scheme's target regions in bytes. 226f968c6a4SSeongJae Park 227f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min 228f968c6a4SSeongJae ParkDate: Mar 2022 229f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 230f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the manimum 231f968c6a4SSeongJae Park 'nr_accesses' of the scheme's target regions. 232f968c6a4SSeongJae Park 233f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max 234f968c6a4SSeongJae ParkDate: Mar 2022 235f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 236f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 237f968c6a4SSeongJae Park 'nr_accesses' of the scheme's target regions. 238f968c6a4SSeongJae Park 239f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min 240f968c6a4SSeongJae ParkDate: Mar 2022 241f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 242f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the minimum 243f968c6a4SSeongJae Park 'age' of the scheme's target regions. 244f968c6a4SSeongJae Park 245f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max 246f968c6a4SSeongJae ParkDate: Mar 2022 247f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 248f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 249f968c6a4SSeongJae Park 'age' of the scheme's target regions. 250f968c6a4SSeongJae Park 251f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms 252f968c6a4SSeongJae ParkDate: Mar 2022 253f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 254f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the time 255f968c6a4SSeongJae Park quota of the scheme in milliseconds. 256f968c6a4SSeongJae Park 257f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes 258f968c6a4SSeongJae ParkDate: Mar 2022 259f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 260f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the size 261f968c6a4SSeongJae Park quota of the scheme in bytes. 262f968c6a4SSeongJae Park 26368c4905bSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/effective_bytes 26468c4905bSSeongJae ParkDate: Feb 2024 26568c4905bSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 26668c4905bSSeongJae ParkDescription: Reading from this file gets the effective size quota of the 26768c4905bSSeongJae Park scheme in bytes, which adjusted for the time quota and goals. 26868c4905bSSeongJae Park 269f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms 270f968c6a4SSeongJae ParkDate: Mar 2022 271f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 272f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the quotas 273f968c6a4SSeongJae Park charge reset interval of the scheme in milliseconds. 274f968c6a4SSeongJae Park 2750972913fSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals 2760972913fSSeongJae ParkDate: Nov 2023 2770972913fSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 2780972913fSSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 2790972913fSSeongJae Park directories for setting automatic tuning of the scheme's 2800972913fSSeongJae Park aggressiveness named '0' to 'N-1' under the goals/ directory. 2810972913fSSeongJae Park 282adc3908bSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_metric 283adc3908bSSeongJae ParkDate: Feb 2024 284adc3908bSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 285adc3908bSSeongJae ParkDescription: Writing to and reading from this file sets and gets the quota 286adc3908bSSeongJae Park auto-tuning goal metric. 287adc3908bSSeongJae Park 2880972913fSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value 2890972913fSSeongJae ParkDate: Nov 2023 2900972913fSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 2910972913fSSeongJae ParkDescription: Writing to and reading from this file sets and gets the target 2920972913fSSeongJae Park value of the goal metric. 2930972913fSSeongJae Park 2940972913fSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value 2950972913fSSeongJae ParkDate: Nov 2023 2960972913fSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 2970972913fSSeongJae ParkDescription: Writing to and reading from this file sets and gets the current 2980972913fSSeongJae Park value of the goal metric. 2990972913fSSeongJae Park 300f77cb462SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/nid 301f77cb462SSeongJae ParkDate: Apr 2025 302f77cb462SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 303f77cb462SSeongJae ParkDescription: Writing to and reading from this file sets and gets the nid 304f77cb462SSeongJae Park parameter of the goal. 305f77cb462SSeongJae Park 306f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil 307f968c6a4SSeongJae ParkDate: Mar 2022 308f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 309f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the 310f968c6a4SSeongJae Park under-quota limit regions prioritization weight for 'size' in 311f968c6a4SSeongJae Park permil. 312f968c6a4SSeongJae Park 313f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil 314f968c6a4SSeongJae ParkDate: Mar 2022 315f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 316f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the 317f968c6a4SSeongJae Park under-quota limit regions prioritization weight for 318f968c6a4SSeongJae Park 'nr_accesses' in permil. 319f968c6a4SSeongJae Park 320f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil 321f968c6a4SSeongJae ParkDate: Mar 2022 322f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 323f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the 324f968c6a4SSeongJae Park under-quota limit regions prioritization weight for 'age' in 325f968c6a4SSeongJae Park permil. 326f968c6a4SSeongJae Park 327f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric 328f968c6a4SSeongJae ParkDate: Mar 2022 329f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 330f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the metric 331f968c6a4SSeongJae Park of the watermarks for the scheme. The writable/readable 332f968c6a4SSeongJae Park keywords for this file are 'none' for disabling the watermarks 333f968c6a4SSeongJae Park feature, or 'free_mem_rate' for the system's global free memory 334f968c6a4SSeongJae Park rate in permil. 335f968c6a4SSeongJae Park 336f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us 337f968c6a4SSeongJae ParkDate: Mar 2022 338f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 339f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the metric 340f968c6a4SSeongJae Park check interval of the watermarks for the scheme in 341f968c6a4SSeongJae Park microseconds. 342f968c6a4SSeongJae Park 343f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high 344f968c6a4SSeongJae ParkDate: Mar 2022 345f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 346f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the high 347f968c6a4SSeongJae Park watermark of the scheme in permil. 348f968c6a4SSeongJae Park 349f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid 350f968c6a4SSeongJae ParkDate: Mar 2022 351f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 352f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the mid 353f968c6a4SSeongJae Park watermark of the scheme in permil. 354f968c6a4SSeongJae Park 355f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low 356f968c6a4SSeongJae ParkDate: Mar 2022 357f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 358f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the low 359f968c6a4SSeongJae Park watermark of the scheme in permil. 360f968c6a4SSeongJae Park 361497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/nr_filters 362497b099dSSeongJae ParkDate: Dec 2022 363497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 364497b099dSSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 365497b099dSSeongJae Park directories for setting filters of the scheme named '0' to 366497b099dSSeongJae Park 'N-1' under the filters/ directory. 367497b099dSSeongJae Park 368497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/type 369497b099dSSeongJae ParkDate: Dec 2022 370497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 371497b099dSSeongJae ParkDescription: Writing to and reading from this file sets and gets the type of 3722beb97fcSSeongJae Park the memory of the interest. 'anon' for anonymous pages, 373eedbd23dSSeongJae Park 'memcg' for specific memory cgroup, 'young' for young pages, 374eedbd23dSSeongJae Park 'addr' for address range (an open-ended interval), or 'target' 375eedbd23dSSeongJae Park for DAMON monitoring target can be written and read. 376497b099dSSeongJae Park 377497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/memcg_path 378497b099dSSeongJae ParkDate: Dec 2022 379497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 380497b099dSSeongJae ParkDescription: If 'memcg' is written to the 'type' file, writing to and 381497b099dSSeongJae Park reading from this file sets and gets the path to the memory 382497b099dSSeongJae Park cgroup of the interest. 383497b099dSSeongJae Park 3842beb97fcSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_start 3852beb97fcSSeongJae ParkDate: Jul 2023 3862beb97fcSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 3872beb97fcSSeongJae ParkDescription: If 'addr' is written to the 'type' file, writing to or reading 3882beb97fcSSeongJae Park from this file sets or gets the start address of the address 3892beb97fcSSeongJae Park range for the filter. 3902beb97fcSSeongJae Park 3912beb97fcSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_end 3922beb97fcSSeongJae ParkDate: Jul 2023 3932beb97fcSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 3942beb97fcSSeongJae ParkDescription: If 'addr' is written to the 'type' file, writing to or reading 3952beb97fcSSeongJae Park from this file sets or gets the end address of the address 3962beb97fcSSeongJae Park range for the filter. 3972beb97fcSSeongJae Park 398807db03cSUsama ArifWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/min 399807db03cSUsama ArifDate: Feb 2025 400807db03cSUsama ArifContact: SeongJae Park <sj@kernel.org> 401807db03cSUsama ArifDescription: If 'hugepage_size' is written to the 'type' file, writing to 402807db03cSUsama Arif or reading from this file sets or gets the minimum size of the 403807db03cSUsama Arif hugepage for the filter. 404807db03cSUsama Arif 405807db03cSUsama ArifWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/max 406807db03cSUsama ArifDate: Feb 2025 407807db03cSUsama ArifContact: SeongJae Park <sj@kernel.org> 408807db03cSUsama ArifDescription: If 'hugepage_size' is written to the 'type' file, writing to 409807db03cSUsama Arif or reading from this file sets or gets the maximum size of the 410807db03cSUsama Arif hugepage for the filter. 411807db03cSUsama Arif 412d3d21d91SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx 413d3d21d91SSeongJae ParkDate: Dec 2022 414d3d21d91SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 415d3d21d91SSeongJae ParkDescription: If 'target' is written to the 'type' file, writing to or 416d3d21d91SSeongJae Park reading from this file sets or gets the index of the DAMON 417d3d21d91SSeongJae Park monitoring target of the interest. 4182beb97fcSSeongJae Park 419497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/matching 420497b099dSSeongJae ParkDate: Dec 2022 421497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 4221c2ac23dSSeongJae ParkDescription: Writing 'Y' or 'N' to this file sets whether the filter is for 4231c2ac23dSSeongJae Park the memory of the 'type', or all except the 'type'. 4241c2ac23dSSeongJae Park 4251c2ac23dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/allow 4261c2ac23dSSeongJae ParkDate: Jan 2025 4271c2ac23dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 4281c2ac23dSSeongJae ParkDescription: Writing 'Y' or 'N' to this file sets whether to allow or reject 4291c2ac23dSSeongJae Park applying the scheme's action to the memory that satisfies the 4301c2ac23dSSeongJae Park 'type' and the 'matching' of the directory. 431497b099dSSeongJae Park 432899e4c14SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters 433899e4c14SSeongJae ParkDate: Feb 2025 434899e4c14SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 435899e4c14SSeongJae ParkDescription: Directory for DAMON core layer-handled DAMOS filters. Files 436899e4c14SSeongJae Park under this directory works same to those of 437899e4c14SSeongJae Park /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters 438899e4c14SSeongJae Park directory. 439899e4c14SSeongJae Park 440899e4c14SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters 441899e4c14SSeongJae ParkDate: Feb 2025 442899e4c14SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 443899e4c14SSeongJae ParkDescription: Directory for DAMON operations set layer-handled DAMOS filters. 444899e4c14SSeongJae Park Files under this directory works same to those of 445899e4c14SSeongJae Park /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters 446899e4c14SSeongJae Park directory. 447899e4c14SSeongJae Park 448b9dfe8afSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/nr_dests 449b9dfe8afSSeongJae ParkDate: Jul 2025 450b9dfe8afSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 451b9dfe8afSSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 452b9dfe8afSSeongJae Park directories for setting action destinations of the scheme named 453b9dfe8afSSeongJae Park '0' to 'N-1' under the dests/ directory. 454b9dfe8afSSeongJae Park 455b9dfe8afSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/id 456b9dfe8afSSeongJae ParkDate: Jul 2025 457b9dfe8afSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 458b9dfe8afSSeongJae ParkDescription: Writing to and reading from this file sets and gets the id of 459b9dfe8afSSeongJae Park the DAMOS action destination. For DAMOS_MIGRATE_{HOT,COLD} 460b9dfe8afSSeongJae Park actions, the destination node's node id can be written and 461b9dfe8afSSeongJae Park read. 462b9dfe8afSSeongJae Park 463b9dfe8afSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/weight 464b9dfe8afSSeongJae ParkDate: Jul 2025 465b9dfe8afSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 466b9dfe8afSSeongJae ParkDescription: Writing to and reading from this file sets and gets the weight 467b9dfe8afSSeongJae Park of the DAMOS action destination to select as the destination of 468b9dfe8afSSeongJae Park each action among the destinations. 469b9dfe8afSSeongJae Park 470f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried 471f968c6a4SSeongJae ParkDate: Mar 2022 472f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 473f968c6a4SSeongJae ParkDescription: Reading this file returns the number of regions that the action 474f968c6a4SSeongJae Park of the scheme has tried to be applied. 475f968c6a4SSeongJae Park 476f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried 477f968c6a4SSeongJae ParkDate: Mar 2022 478f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 479f968c6a4SSeongJae ParkDescription: Reading this file returns the total size of regions that the 480f968c6a4SSeongJae Park action of the scheme has tried to be applied in bytes. 481f968c6a4SSeongJae Park 482f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied 483f968c6a4SSeongJae ParkDate: Mar 2022 484f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 485f968c6a4SSeongJae ParkDescription: Reading this file returns the number of regions that the action 486f968c6a4SSeongJae Park of the scheme has successfully applied. 487f968c6a4SSeongJae Park 488f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied 489f968c6a4SSeongJae ParkDate: Mar 2022 490f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 491f968c6a4SSeongJae ParkDescription: Reading this file returns the total size of regions that the 492f968c6a4SSeongJae Park action of the scheme has successfully applied in bytes. 493f968c6a4SSeongJae Park 494e1a1d377SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed 495e1a1d377SSeongJae ParkDate: Dec 2024 496e1a1d377SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 497e1a1d377SSeongJae ParkDescription: Reading this file returns the total size of memory that passed 498e1a1d377SSeongJae Park DAMON operations layer-handled filters of the scheme in bytes. 499e1a1d377SSeongJae Park 500f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds 501f968c6a4SSeongJae ParkDate: Mar 2022 502f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 503f968c6a4SSeongJae ParkDescription: Reading this file returns the number of the exceed events of 504f968c6a4SSeongJae Park the scheme's quotas. 5051b0006daSSeongJae Park 506e91b5ccfSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes 507e91b5ccfSSeongJae ParkDate: Jul 2023 508e91b5ccfSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 509e91b5ccfSSeongJae ParkDescription: Reading this file returns the total amount of memory that 510e91b5ccfSSeongJae Park corresponding DAMON-based Operation Scheme's action has tried 511e91b5ccfSSeongJae Park to be applied. 512e91b5ccfSSeongJae Park 5131b0006daSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start 5141b0006daSSeongJae ParkDate: Oct 2022 5151b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 5161b0006daSSeongJae ParkDescription: Reading this file returns the start address of a memory region 5171b0006daSSeongJae Park that corresponding DAMON-based Operation Scheme's action has 5181b0006daSSeongJae Park tried to be applied. 5191b0006daSSeongJae Park 5201b0006daSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end 5211b0006daSSeongJae ParkDate: Oct 2022 5221b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 5231b0006daSSeongJae ParkDescription: Reading this file returns the end address of a memory region 5241b0006daSSeongJae Park that corresponding DAMON-based Operation Scheme's action has 5251b0006daSSeongJae Park tried to be applied. 5261b0006daSSeongJae Park 5271b0006daSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/nr_accesses 5281b0006daSSeongJae ParkDate: Oct 2022 5291b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 5301b0006daSSeongJae ParkDescription: Reading this file returns the 'nr_accesses' of a memory region 5311b0006daSSeongJae Park that corresponding DAMON-based Operation Scheme's action has 5321b0006daSSeongJae Park tried to be applied. 5331b0006daSSeongJae Park 5341b0006daSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/age 5351b0006daSSeongJae ParkDate: Oct 2022 5361b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 5371b0006daSSeongJae ParkDescription: Reading this file returns the 'age' of a memory region that 5381b0006daSSeongJae Park corresponding DAMON-based Operation Scheme's action has tried 5391b0006daSSeongJae Park to be applied. 540f1de9e69SSeongJae Park 541f1de9e69SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed 542f1de9e69SSeongJae ParkDate: Dec 2024 543f1de9e69SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 544f1de9e69SSeongJae ParkDescription: Reading this file returns the size of the memory in the region 545f1de9e69SSeongJae Park that passed DAMON operations layer-handled filters of the 546f1de9e69SSeongJae Park scheme in bytes. 547