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 47*cc1c6724SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/refresh_ms 48*cc1c6724SSeongJae ParkDate: Jul 2025 49*cc1c6724SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 50*cc1c6724SSeongJae ParkDescription: Writing a value to this file sets the time interval for 51*cc1c6724SSeongJae Park automatic DAMON status file contents update. Writing '0' 52*cc1c6724SSeongJae Park disables the update. Reading this file returns the value. 53*cc1c6724SSeongJae 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 80f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/sample_us 81f968c6a4SSeongJae ParkDate: Mar 2022 82f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 83f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the sampling interval of the 84f968c6a4SSeongJae Park DAMON context in microseconds as the value. Reading this file 85f968c6a4SSeongJae Park returns the value. 86f968c6a4SSeongJae Park 87f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us 88f968c6a4SSeongJae ParkDate: Mar 2022 89f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 90f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the aggregation interval of 91f968c6a4SSeongJae Park the DAMON context in microseconds as the value. Reading this 92f968c6a4SSeongJae Park file returns the value. 93f968c6a4SSeongJae Park 94f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us 95f968c6a4SSeongJae ParkDate: Mar 2022 96f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 97f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the update interval of the 98f968c6a4SSeongJae Park DAMON context in microseconds as the value. Reading this file 99f968c6a4SSeongJae Park returns the value. 100f968c6a4SSeongJae Park 101e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/access_bp 102e2b23dc6SSeongJae ParkDate: Feb 2025 103e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 104e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the monitoring intervals 105e2b23dc6SSeongJae Park auto-tuning target DAMON-observed access events ratio within 106e2b23dc6SSeongJae Park the given time interval (aggrs in same directory), in bp 107e2b23dc6SSeongJae Park (1/10,000). Reading this file returns the value. 108e2b23dc6SSeongJae Park 109e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/aggrs 110e2b23dc6SSeongJae ParkDate: Feb 2025 111e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 112e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the time interval to achieve 113e2b23dc6SSeongJae Park the monitoring intervals auto-tuning target DAMON-observed 114e2b23dc6SSeongJae Park access events ratio (access_bp in same directory) within. 115e2b23dc6SSeongJae Park Reading this file returns the value. 116e2b23dc6SSeongJae Park 117e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/min_sample_us 118e2b23dc6SSeongJae ParkDate: Feb 2025 119e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 120e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the minimum value of 121e2b23dc6SSeongJae Park auto-tuned sampling interval in microseconds. Reading this 122e2b23dc6SSeongJae Park file returns the value. 123e2b23dc6SSeongJae Park 124e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/max_sample_us 125e2b23dc6SSeongJae ParkDate: Feb 2025 126e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 127e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the maximum value of 128e2b23dc6SSeongJae Park auto-tuned sampling interval in microseconds. Reading this 129e2b23dc6SSeongJae Park file returns the value. 130e2b23dc6SSeongJae Park 131f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min 132f968c6a4SSeongJae Park 133f968c6a4SSeongJae ParkWDate: Mar 2022 134f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 135f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the minimum number of 136f968c6a4SSeongJae Park monitoring regions of the DAMON context as the value. Reading 137f968c6a4SSeongJae Park this file returns the value. 138f968c6a4SSeongJae Park 139f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max 140f968c6a4SSeongJae ParkDate: Mar 2022 141f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 142f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the maximum 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>/targets/nr_targets 147f968c6a4SSeongJae ParkDate: Mar 2022 148f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 149f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 150f968c6a4SSeongJae Park directories for controlling each DAMON target of the context 151f968c6a4SSeongJae Park named '0' to 'N-1' under the contexts/ directory. 152f968c6a4SSeongJae Park 153f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target 154f968c6a4SSeongJae ParkDate: Mar 2022 155f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 156f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the pid of 157f968c6a4SSeongJae Park the target process if the context is for virtual address spaces 158f968c6a4SSeongJae Park monitoring, respectively. 159f968c6a4SSeongJae Park 160f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions 161f968c6a4SSeongJae ParkDate: Mar 2022 162f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 163f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 164f968c6a4SSeongJae Park directories for setting each DAMON target memory region of the 165f968c6a4SSeongJae Park context named '0' to 'N-1' under the regions/ directory. In 166f968c6a4SSeongJae Park case of the virtual address space monitoring, DAMON 167f968c6a4SSeongJae Park automatically sets the target memory region based on the target 168f968c6a4SSeongJae Park processes' mappings. 169f968c6a4SSeongJae Park 170f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start 171f968c6a4SSeongJae ParkDate: Mar 2022 172f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 173f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the start 174f968c6a4SSeongJae Park address of the monitoring region. 175f968c6a4SSeongJae Park 176f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end 177f968c6a4SSeongJae ParkDate: Mar 2022 178f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 179f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the end 180f968c6a4SSeongJae Park address of the monitoring region. 181f968c6a4SSeongJae Park 182f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes 183f968c6a4SSeongJae ParkDate: Mar 2022 184f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 185f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 186f968c6a4SSeongJae Park directories for controlling each DAMON-based operation scheme 187f968c6a4SSeongJae Park of the context named '0' to 'N-1' under the schemes/ directory. 188f968c6a4SSeongJae Park 189f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action 190f968c6a4SSeongJae ParkDate: Mar 2022 191f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 192f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the action 193f968c6a4SSeongJae Park of the scheme. 194f968c6a4SSeongJae Park 195e36287c6SHyeongtak JiWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/target_nid 196e36287c6SHyeongtak JiDate: Jun 2024 197e36287c6SHyeongtak JiContact: SeongJae Park <sj@kernel.org> 198e36287c6SHyeongtak JiDescription: Action's target NUMA node id. Supported by only relevant 199e36287c6SHyeongtak Ji actions. 200e36287c6SHyeongtak Ji 201d57d36b5SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us 202d57d36b5SSeongJae ParkDate: Sep 2023 203d57d36b5SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 204d57d36b5SSeongJae ParkDescription: Writing a value to this file sets the action apply interval of 205d57d36b5SSeongJae Park the scheme in microseconds. Reading this file returns the 206d57d36b5SSeongJae Park value. 207d57d36b5SSeongJae Park 208f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min 209f968c6a4SSeongJae ParkDate: Mar 2022 210f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 211ebab9426SBjorn HelgaasDescription: Writing to and reading from this file sets and gets the minimum 212f968c6a4SSeongJae Park size of the scheme's target regions in bytes. 213f968c6a4SSeongJae Park 214f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max 215f968c6a4SSeongJae ParkDate: Mar 2022 216f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 217f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 218f968c6a4SSeongJae Park size of the scheme's target regions in bytes. 219f968c6a4SSeongJae Park 220f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min 221f968c6a4SSeongJae ParkDate: Mar 2022 222f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 223f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the manimum 224f968c6a4SSeongJae Park 'nr_accesses' of the scheme's target regions. 225f968c6a4SSeongJae Park 226f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max 227f968c6a4SSeongJae ParkDate: Mar 2022 228f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 229f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 230f968c6a4SSeongJae Park 'nr_accesses' of the scheme's target regions. 231f968c6a4SSeongJae Park 232f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min 233f968c6a4SSeongJae ParkDate: Mar 2022 234f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 235f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the minimum 236f968c6a4SSeongJae Park 'age' of the scheme's target regions. 237f968c6a4SSeongJae Park 238f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max 239f968c6a4SSeongJae ParkDate: Mar 2022 240f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 241f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 242f968c6a4SSeongJae Park 'age' of the scheme's target regions. 243f968c6a4SSeongJae Park 244f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms 245f968c6a4SSeongJae ParkDate: Mar 2022 246f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 247f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the time 248f968c6a4SSeongJae Park quota of the scheme in milliseconds. 249f968c6a4SSeongJae Park 250f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes 251f968c6a4SSeongJae ParkDate: Mar 2022 252f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 253f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the size 254f968c6a4SSeongJae Park quota of the scheme in bytes. 255f968c6a4SSeongJae Park 25668c4905bSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/effective_bytes 25768c4905bSSeongJae ParkDate: Feb 2024 25868c4905bSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 25968c4905bSSeongJae ParkDescription: Reading from this file gets the effective size quota of the 26068c4905bSSeongJae Park scheme in bytes, which adjusted for the time quota and goals. 26168c4905bSSeongJae Park 262f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms 263f968c6a4SSeongJae ParkDate: Mar 2022 264f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 265f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the quotas 266f968c6a4SSeongJae Park charge reset interval of the scheme in milliseconds. 267f968c6a4SSeongJae Park 2680972913fSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals 2690972913fSSeongJae ParkDate: Nov 2023 2700972913fSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 2710972913fSSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 2720972913fSSeongJae Park directories for setting automatic tuning of the scheme's 2730972913fSSeongJae Park aggressiveness named '0' to 'N-1' under the goals/ directory. 2740972913fSSeongJae Park 275adc3908bSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_metric 276adc3908bSSeongJae ParkDate: Feb 2024 277adc3908bSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 278adc3908bSSeongJae ParkDescription: Writing to and reading from this file sets and gets the quota 279adc3908bSSeongJae Park auto-tuning goal metric. 280adc3908bSSeongJae Park 2810972913fSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value 2820972913fSSeongJae ParkDate: Nov 2023 2830972913fSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 2840972913fSSeongJae ParkDescription: Writing to and reading from this file sets and gets the target 2850972913fSSeongJae Park value of the goal metric. 2860972913fSSeongJae Park 2870972913fSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value 2880972913fSSeongJae ParkDate: Nov 2023 2890972913fSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 2900972913fSSeongJae ParkDescription: Writing to and reading from this file sets and gets the current 2910972913fSSeongJae Park value of the goal metric. 2920972913fSSeongJae Park 293f77cb462SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/nid 294f77cb462SSeongJae ParkDate: Apr 2025 295f77cb462SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 296f77cb462SSeongJae ParkDescription: Writing to and reading from this file sets and gets the nid 297f77cb462SSeongJae Park parameter of the goal. 298f77cb462SSeongJae Park 299f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil 300f968c6a4SSeongJae ParkDate: Mar 2022 301f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 302f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the 303f968c6a4SSeongJae Park under-quota limit regions prioritization weight for 'size' in 304f968c6a4SSeongJae Park permil. 305f968c6a4SSeongJae Park 306f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_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 311f968c6a4SSeongJae Park 'nr_accesses' in permil. 312f968c6a4SSeongJae Park 313f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_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 'age' in 318f968c6a4SSeongJae Park permil. 319f968c6a4SSeongJae Park 320f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric 321f968c6a4SSeongJae ParkDate: Mar 2022 322f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 323f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the metric 324f968c6a4SSeongJae Park of the watermarks for the scheme. The writable/readable 325f968c6a4SSeongJae Park keywords for this file are 'none' for disabling the watermarks 326f968c6a4SSeongJae Park feature, or 'free_mem_rate' for the system's global free memory 327f968c6a4SSeongJae Park rate in permil. 328f968c6a4SSeongJae Park 329f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us 330f968c6a4SSeongJae ParkDate: Mar 2022 331f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 332f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the metric 333f968c6a4SSeongJae Park check interval of the watermarks for the scheme in 334f968c6a4SSeongJae Park microseconds. 335f968c6a4SSeongJae Park 336f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high 337f968c6a4SSeongJae ParkDate: Mar 2022 338f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 339f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the high 340f968c6a4SSeongJae Park watermark of the scheme in permil. 341f968c6a4SSeongJae Park 342f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid 343f968c6a4SSeongJae ParkDate: Mar 2022 344f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 345f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the mid 346f968c6a4SSeongJae Park watermark of the scheme in permil. 347f968c6a4SSeongJae Park 348f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low 349f968c6a4SSeongJae ParkDate: Mar 2022 350f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 351f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the low 352f968c6a4SSeongJae Park watermark of the scheme in permil. 353f968c6a4SSeongJae Park 354497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/nr_filters 355497b099dSSeongJae ParkDate: Dec 2022 356497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 357497b099dSSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 358497b099dSSeongJae Park directories for setting filters of the scheme named '0' to 359497b099dSSeongJae Park 'N-1' under the filters/ directory. 360497b099dSSeongJae Park 361497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/type 362497b099dSSeongJae ParkDate: Dec 2022 363497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 364497b099dSSeongJae ParkDescription: Writing to and reading from this file sets and gets the type of 3652beb97fcSSeongJae Park the memory of the interest. 'anon' for anonymous pages, 366eedbd23dSSeongJae Park 'memcg' for specific memory cgroup, 'young' for young pages, 367eedbd23dSSeongJae Park 'addr' for address range (an open-ended interval), or 'target' 368eedbd23dSSeongJae Park for DAMON monitoring target can be written and read. 369497b099dSSeongJae Park 370497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/memcg_path 371497b099dSSeongJae ParkDate: Dec 2022 372497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 373497b099dSSeongJae ParkDescription: If 'memcg' is written to the 'type' file, writing to and 374497b099dSSeongJae Park reading from this file sets and gets the path to the memory 375497b099dSSeongJae Park cgroup of the interest. 376497b099dSSeongJae Park 3772beb97fcSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_start 3782beb97fcSSeongJae ParkDate: Jul 2023 3792beb97fcSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 3802beb97fcSSeongJae ParkDescription: If 'addr' is written to the 'type' file, writing to or reading 3812beb97fcSSeongJae Park from this file sets or gets the start address of the address 3822beb97fcSSeongJae Park range for the filter. 3832beb97fcSSeongJae Park 3842beb97fcSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_end 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 end address of the address 3892beb97fcSSeongJae Park range for the filter. 3902beb97fcSSeongJae Park 391807db03cSUsama ArifWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/min 392807db03cSUsama ArifDate: Feb 2025 393807db03cSUsama ArifContact: SeongJae Park <sj@kernel.org> 394807db03cSUsama ArifDescription: If 'hugepage_size' is written to the 'type' file, writing to 395807db03cSUsama Arif or reading from this file sets or gets the minimum size of the 396807db03cSUsama Arif hugepage for the filter. 397807db03cSUsama Arif 398807db03cSUsama ArifWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/max 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 maximum size of the 403807db03cSUsama Arif hugepage for the filter. 404807db03cSUsama Arif 405d3d21d91SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx 406d3d21d91SSeongJae ParkDate: Dec 2022 407d3d21d91SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 408d3d21d91SSeongJae ParkDescription: If 'target' is written to the 'type' file, writing to or 409d3d21d91SSeongJae Park reading from this file sets or gets the index of the DAMON 410d3d21d91SSeongJae Park monitoring target of the interest. 4112beb97fcSSeongJae Park 412497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/matching 413497b099dSSeongJae ParkDate: Dec 2022 414497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 4151c2ac23dSSeongJae ParkDescription: Writing 'Y' or 'N' to this file sets whether the filter is for 4161c2ac23dSSeongJae Park the memory of the 'type', or all except the 'type'. 4171c2ac23dSSeongJae Park 4181c2ac23dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/allow 4191c2ac23dSSeongJae ParkDate: Jan 2025 4201c2ac23dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 4211c2ac23dSSeongJae ParkDescription: Writing 'Y' or 'N' to this file sets whether to allow or reject 4221c2ac23dSSeongJae Park applying the scheme's action to the memory that satisfies the 4231c2ac23dSSeongJae Park 'type' and the 'matching' of the directory. 424497b099dSSeongJae Park 425899e4c14SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters 426899e4c14SSeongJae ParkDate: Feb 2025 427899e4c14SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 428899e4c14SSeongJae ParkDescription: Directory for DAMON core layer-handled DAMOS filters. Files 429899e4c14SSeongJae Park under this directory works same to those of 430899e4c14SSeongJae Park /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters 431899e4c14SSeongJae Park directory. 432899e4c14SSeongJae Park 433899e4c14SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters 434899e4c14SSeongJae ParkDate: Feb 2025 435899e4c14SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 436899e4c14SSeongJae ParkDescription: Directory for DAMON operations set layer-handled DAMOS filters. 437899e4c14SSeongJae Park Files under this directory works same to those of 438899e4c14SSeongJae Park /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters 439899e4c14SSeongJae Park directory. 440899e4c14SSeongJae Park 441b9dfe8afSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/nr_dests 442b9dfe8afSSeongJae ParkDate: Jul 2025 443b9dfe8afSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 444b9dfe8afSSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 445b9dfe8afSSeongJae Park directories for setting action destinations of the scheme named 446b9dfe8afSSeongJae Park '0' to 'N-1' under the dests/ directory. 447b9dfe8afSSeongJae Park 448b9dfe8afSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/id 449b9dfe8afSSeongJae ParkDate: Jul 2025 450b9dfe8afSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 451b9dfe8afSSeongJae ParkDescription: Writing to and reading from this file sets and gets the id of 452b9dfe8afSSeongJae Park the DAMOS action destination. For DAMOS_MIGRATE_{HOT,COLD} 453b9dfe8afSSeongJae Park actions, the destination node's node id can be written and 454b9dfe8afSSeongJae Park read. 455b9dfe8afSSeongJae Park 456b9dfe8afSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/dests/<D>/weight 457b9dfe8afSSeongJae ParkDate: Jul 2025 458b9dfe8afSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 459b9dfe8afSSeongJae ParkDescription: Writing to and reading from this file sets and gets the weight 460b9dfe8afSSeongJae Park of the DAMOS action destination to select as the destination of 461b9dfe8afSSeongJae Park each action among the destinations. 462b9dfe8afSSeongJae Park 463f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried 464f968c6a4SSeongJae ParkDate: Mar 2022 465f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 466f968c6a4SSeongJae ParkDescription: Reading this file returns the number of regions that the action 467f968c6a4SSeongJae Park of the scheme has tried to be applied. 468f968c6a4SSeongJae Park 469f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried 470f968c6a4SSeongJae ParkDate: Mar 2022 471f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 472f968c6a4SSeongJae ParkDescription: Reading this file returns the total size of regions that the 473f968c6a4SSeongJae Park action of the scheme has tried to be applied in bytes. 474f968c6a4SSeongJae Park 475f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied 476f968c6a4SSeongJae ParkDate: Mar 2022 477f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 478f968c6a4SSeongJae ParkDescription: Reading this file returns the number of regions that the action 479f968c6a4SSeongJae Park of the scheme has successfully applied. 480f968c6a4SSeongJae Park 481f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied 482f968c6a4SSeongJae ParkDate: Mar 2022 483f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 484f968c6a4SSeongJae ParkDescription: Reading this file returns the total size of regions that the 485f968c6a4SSeongJae Park action of the scheme has successfully applied in bytes. 486f968c6a4SSeongJae Park 487e1a1d377SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed 488e1a1d377SSeongJae ParkDate: Dec 2024 489e1a1d377SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 490e1a1d377SSeongJae ParkDescription: Reading this file returns the total size of memory that passed 491e1a1d377SSeongJae Park DAMON operations layer-handled filters of the scheme in bytes. 492e1a1d377SSeongJae Park 493f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds 494f968c6a4SSeongJae ParkDate: Mar 2022 495f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 496f968c6a4SSeongJae ParkDescription: Reading this file returns the number of the exceed events of 497f968c6a4SSeongJae Park the scheme's quotas. 4981b0006daSSeongJae Park 499e91b5ccfSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes 500e91b5ccfSSeongJae ParkDate: Jul 2023 501e91b5ccfSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 502e91b5ccfSSeongJae ParkDescription: Reading this file returns the total amount of memory that 503e91b5ccfSSeongJae Park corresponding DAMON-based Operation Scheme's action has tried 504e91b5ccfSSeongJae Park to be applied. 505e91b5ccfSSeongJae Park 5061b0006daSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start 5071b0006daSSeongJae ParkDate: Oct 2022 5081b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 5091b0006daSSeongJae ParkDescription: Reading this file returns the start address of a memory region 5101b0006daSSeongJae Park that corresponding DAMON-based Operation Scheme's action has 5111b0006daSSeongJae Park tried to be applied. 5121b0006daSSeongJae Park 5131b0006daSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end 5141b0006daSSeongJae ParkDate: Oct 2022 5151b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 5161b0006daSSeongJae ParkDescription: Reading this file returns the end 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>/nr_accesses 5211b0006daSSeongJae ParkDate: Oct 2022 5221b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 5231b0006daSSeongJae ParkDescription: Reading this file returns the 'nr_accesses' 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>/age 5281b0006daSSeongJae ParkDate: Oct 2022 5291b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 5301b0006daSSeongJae ParkDescription: Reading this file returns the 'age' of a memory region that 5311b0006daSSeongJae Park corresponding DAMON-based Operation Scheme's action has tried 5321b0006daSSeongJae Park to be applied. 533f1de9e69SSeongJae Park 534f1de9e69SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed 535f1de9e69SSeongJae ParkDate: Dec 2024 536f1de9e69SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 537f1de9e69SSeongJae ParkDescription: Reading this file returns the size of the memory in the region 538f1de9e69SSeongJae Park that passed DAMON operations layer-handled filters of the 539f1de9e69SSeongJae Park scheme in bytes. 540