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 47f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/nr_contexts 48f968c6a4SSeongJae ParkDate: Mar 2022 49f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 50f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 51f968c6a4SSeongJae Park directories for controlling each DAMON context named '0' to 52f968c6a4SSeongJae Park 'N-1' under the contexts/ directory. 53f968c6a4SSeongJae Park 542fe60ec9SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/avail_operations 552fe60ec9SSeongJae ParkDate: Apr 2022 562fe60ec9SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 572fe60ec9SSeongJae ParkDescription: Reading this file returns the available monitoring operations 582fe60ec9SSeongJae Park sets on the currently running kernel. 592fe60ec9SSeongJae Park 60f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/operations 61f968c6a4SSeongJae ParkDate: Mar 2022 62f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 63f968c6a4SSeongJae ParkDescription: Writing a keyword for a monitoring operations set ('vaddr' for 6491541808SSeongJae Park virtual address spaces monitoring, 'fvaddr' for fixed virtual 6591541808SSeongJae Park address ranges monitoring, and 'paddr' for the physical address 6691541808SSeongJae Park space monitoring) to this file makes the context to use the 6791541808SSeongJae Park operations set. Reading the file returns the keyword for the 6891541808SSeongJae Park operations set the context is set to use. 6991541808SSeongJae Park 7091541808SSeongJae Park Note that only the operations sets that listed in 7191541808SSeongJae Park 'avail_operations' file are valid inputs. 72f968c6a4SSeongJae Park 73f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/sample_us 74f968c6a4SSeongJae ParkDate: Mar 2022 75f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 76f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the sampling interval of the 77f968c6a4SSeongJae Park DAMON context in microseconds as the value. Reading this file 78f968c6a4SSeongJae Park returns the value. 79f968c6a4SSeongJae Park 80f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us 81f968c6a4SSeongJae ParkDate: Mar 2022 82f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 83f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the aggregation interval of 84f968c6a4SSeongJae Park the DAMON context in microseconds as the value. Reading this 85f968c6a4SSeongJae Park file returns the value. 86f968c6a4SSeongJae Park 87f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us 88f968c6a4SSeongJae ParkDate: Mar 2022 89f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 90f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the update interval of the 91f968c6a4SSeongJae Park DAMON context in microseconds as the value. Reading this file 92f968c6a4SSeongJae Park returns the value. 93f968c6a4SSeongJae Park 94e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/access_bp 95e2b23dc6SSeongJae ParkDate: Feb 2025 96e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 97e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the monitoring intervals 98e2b23dc6SSeongJae Park auto-tuning target DAMON-observed access events ratio within 99e2b23dc6SSeongJae Park the given time interval (aggrs in same directory), in bp 100e2b23dc6SSeongJae Park (1/10,000). Reading this file returns the value. 101e2b23dc6SSeongJae Park 102e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/aggrs 103e2b23dc6SSeongJae ParkDate: Feb 2025 104e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 105e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the time interval to achieve 106e2b23dc6SSeongJae Park the monitoring intervals auto-tuning target DAMON-observed 107e2b23dc6SSeongJae Park access events ratio (access_bp in same directory) within. 108e2b23dc6SSeongJae Park Reading this file returns the value. 109e2b23dc6SSeongJae Park 110e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/min_sample_us 111e2b23dc6SSeongJae ParkDate: Feb 2025 112e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 113e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the minimum value of 114e2b23dc6SSeongJae Park auto-tuned sampling interval in microseconds. Reading this 115e2b23dc6SSeongJae Park file returns the value. 116e2b23dc6SSeongJae Park 117e2b23dc6SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/max_sample_us 118e2b23dc6SSeongJae ParkDate: Feb 2025 119e2b23dc6SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 120e2b23dc6SSeongJae ParkDescription: Writing a value to this file sets the maximum value of 121e2b23dc6SSeongJae Park auto-tuned sampling interval in microseconds. Reading this 122e2b23dc6SSeongJae Park file returns the value. 123e2b23dc6SSeongJae Park 124f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min 125f968c6a4SSeongJae Park 126f968c6a4SSeongJae ParkWDate: Mar 2022 127f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 128f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the minimum number of 129f968c6a4SSeongJae Park monitoring regions of the DAMON context as the value. Reading 130f968c6a4SSeongJae Park this file returns the value. 131f968c6a4SSeongJae Park 132f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max 133f968c6a4SSeongJae ParkDate: Mar 2022 134f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 135f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the maximum 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>/targets/nr_targets 140f968c6a4SSeongJae ParkDate: Mar 2022 141f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 142f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 143f968c6a4SSeongJae Park directories for controlling each DAMON target of the context 144f968c6a4SSeongJae Park named '0' to 'N-1' under the contexts/ directory. 145f968c6a4SSeongJae Park 146f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target 147f968c6a4SSeongJae ParkDate: Mar 2022 148f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 149f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the pid of 150f968c6a4SSeongJae Park the target process if the context is for virtual address spaces 151f968c6a4SSeongJae Park monitoring, respectively. 152f968c6a4SSeongJae Park 153f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions 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 setting each DAMON target memory region of the 158f968c6a4SSeongJae Park context named '0' to 'N-1' under the regions/ directory. In 159f968c6a4SSeongJae Park case of the virtual address space monitoring, DAMON 160f968c6a4SSeongJae Park automatically sets the target memory region based on the target 161f968c6a4SSeongJae Park processes' mappings. 162f968c6a4SSeongJae Park 163f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start 164f968c6a4SSeongJae ParkDate: Mar 2022 165f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 166f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the start 167f968c6a4SSeongJae Park address of the monitoring region. 168f968c6a4SSeongJae Park 169f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end 170f968c6a4SSeongJae ParkDate: Mar 2022 171f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 172f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the end 173f968c6a4SSeongJae Park address of the monitoring region. 174f968c6a4SSeongJae Park 175f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes 176f968c6a4SSeongJae ParkDate: Mar 2022 177f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 178f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 179f968c6a4SSeongJae Park directories for controlling each DAMON-based operation scheme 180f968c6a4SSeongJae Park of the context named '0' to 'N-1' under the schemes/ directory. 181f968c6a4SSeongJae Park 182f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action 183f968c6a4SSeongJae ParkDate: Mar 2022 184f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 185f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the action 186f968c6a4SSeongJae Park of the scheme. 187f968c6a4SSeongJae Park 188e36287c6SHyeongtak JiWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/target_nid 189e36287c6SHyeongtak JiDate: Jun 2024 190e36287c6SHyeongtak JiContact: SeongJae Park <sj@kernel.org> 191e36287c6SHyeongtak JiDescription: Action's target NUMA node id. Supported by only relevant 192e36287c6SHyeongtak Ji actions. 193e36287c6SHyeongtak Ji 194d57d36b5SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us 195d57d36b5SSeongJae ParkDate: Sep 2023 196d57d36b5SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 197d57d36b5SSeongJae ParkDescription: Writing a value to this file sets the action apply interval of 198d57d36b5SSeongJae Park the scheme in microseconds. Reading this file returns the 199d57d36b5SSeongJae Park value. 200d57d36b5SSeongJae Park 201f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min 202f968c6a4SSeongJae ParkDate: Mar 2022 203f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 204ebab9426SBjorn HelgaasDescription: Writing to and reading from this file sets and gets the minimum 205f968c6a4SSeongJae Park size of the scheme's target regions in bytes. 206f968c6a4SSeongJae Park 207f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max 208f968c6a4SSeongJae ParkDate: Mar 2022 209f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 210f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 211f968c6a4SSeongJae Park size of the scheme's target regions in bytes. 212f968c6a4SSeongJae Park 213f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min 214f968c6a4SSeongJae ParkDate: Mar 2022 215f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 216f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the manimum 217f968c6a4SSeongJae Park 'nr_accesses' of the scheme's target regions. 218f968c6a4SSeongJae Park 219f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max 220f968c6a4SSeongJae ParkDate: Mar 2022 221f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 222f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 223f968c6a4SSeongJae Park 'nr_accesses' of the scheme's target regions. 224f968c6a4SSeongJae Park 225f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min 226f968c6a4SSeongJae ParkDate: Mar 2022 227f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 228f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the minimum 229f968c6a4SSeongJae Park 'age' of the scheme's target regions. 230f968c6a4SSeongJae Park 231f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max 232f968c6a4SSeongJae ParkDate: Mar 2022 233f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 234f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 235f968c6a4SSeongJae Park 'age' of the scheme's target regions. 236f968c6a4SSeongJae Park 237f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms 238f968c6a4SSeongJae ParkDate: Mar 2022 239f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 240f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the time 241f968c6a4SSeongJae Park quota of the scheme in milliseconds. 242f968c6a4SSeongJae Park 243f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes 244f968c6a4SSeongJae ParkDate: Mar 2022 245f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 246f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the size 247f968c6a4SSeongJae Park quota of the scheme in bytes. 248f968c6a4SSeongJae Park 24968c4905bSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/effective_bytes 25068c4905bSSeongJae ParkDate: Feb 2024 25168c4905bSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 25268c4905bSSeongJae ParkDescription: Reading from this file gets the effective size quota of the 25368c4905bSSeongJae Park scheme in bytes, which adjusted for the time quota and goals. 25468c4905bSSeongJae Park 255f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms 256f968c6a4SSeongJae ParkDate: Mar 2022 257f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 258f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the quotas 259f968c6a4SSeongJae Park charge reset interval of the scheme in milliseconds. 260f968c6a4SSeongJae Park 2610972913fSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals 2620972913fSSeongJae ParkDate: Nov 2023 2630972913fSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 2640972913fSSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 2650972913fSSeongJae Park directories for setting automatic tuning of the scheme's 2660972913fSSeongJae Park aggressiveness named '0' to 'N-1' under the goals/ directory. 2670972913fSSeongJae Park 268adc3908bSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_metric 269adc3908bSSeongJae ParkDate: Feb 2024 270adc3908bSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 271adc3908bSSeongJae ParkDescription: Writing to and reading from this file sets and gets the quota 272adc3908bSSeongJae Park auto-tuning goal metric. 273adc3908bSSeongJae Park 2740972913fSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value 2750972913fSSeongJae ParkDate: Nov 2023 2760972913fSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 2770972913fSSeongJae ParkDescription: Writing to and reading from this file sets and gets the target 2780972913fSSeongJae Park value of the goal metric. 2790972913fSSeongJae Park 2800972913fSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value 2810972913fSSeongJae ParkDate: Nov 2023 2820972913fSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 2830972913fSSeongJae ParkDescription: Writing to and reading from this file sets and gets the current 2840972913fSSeongJae Park value of the goal metric. 2850972913fSSeongJae Park 286f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil 287f968c6a4SSeongJae ParkDate: Mar 2022 288f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 289f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the 290f968c6a4SSeongJae Park under-quota limit regions prioritization weight for 'size' in 291f968c6a4SSeongJae Park permil. 292f968c6a4SSeongJae Park 293f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil 294f968c6a4SSeongJae ParkDate: Mar 2022 295f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 296f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the 297f968c6a4SSeongJae Park under-quota limit regions prioritization weight for 298f968c6a4SSeongJae Park 'nr_accesses' in permil. 299f968c6a4SSeongJae Park 300f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil 301f968c6a4SSeongJae ParkDate: Mar 2022 302f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 303f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the 304f968c6a4SSeongJae Park under-quota limit regions prioritization weight for 'age' in 305f968c6a4SSeongJae Park permil. 306f968c6a4SSeongJae Park 307f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric 308f968c6a4SSeongJae ParkDate: Mar 2022 309f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 310f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the metric 311f968c6a4SSeongJae Park of the watermarks for the scheme. The writable/readable 312f968c6a4SSeongJae Park keywords for this file are 'none' for disabling the watermarks 313f968c6a4SSeongJae Park feature, or 'free_mem_rate' for the system's global free memory 314f968c6a4SSeongJae Park rate in permil. 315f968c6a4SSeongJae Park 316f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us 317f968c6a4SSeongJae ParkDate: Mar 2022 318f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 319f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the metric 320f968c6a4SSeongJae Park check interval of the watermarks for the scheme in 321f968c6a4SSeongJae Park microseconds. 322f968c6a4SSeongJae Park 323f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high 324f968c6a4SSeongJae ParkDate: Mar 2022 325f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 326f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the high 327f968c6a4SSeongJae Park watermark of the scheme in permil. 328f968c6a4SSeongJae Park 329f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid 330f968c6a4SSeongJae ParkDate: Mar 2022 331f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 332f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the mid 333f968c6a4SSeongJae Park watermark of the scheme in permil. 334f968c6a4SSeongJae Park 335f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low 336f968c6a4SSeongJae ParkDate: Mar 2022 337f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 338f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the low 339f968c6a4SSeongJae Park watermark of the scheme in permil. 340f968c6a4SSeongJae Park 341497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/nr_filters 342497b099dSSeongJae ParkDate: Dec 2022 343497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 344497b099dSSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 345497b099dSSeongJae Park directories for setting filters of the scheme named '0' to 346497b099dSSeongJae Park 'N-1' under the filters/ directory. 347497b099dSSeongJae Park 348497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/type 349497b099dSSeongJae ParkDate: Dec 2022 350497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 351497b099dSSeongJae ParkDescription: Writing to and reading from this file sets and gets the type of 3522beb97fcSSeongJae Park the memory of the interest. 'anon' for anonymous pages, 353eedbd23dSSeongJae Park 'memcg' for specific memory cgroup, 'young' for young pages, 354eedbd23dSSeongJae Park 'addr' for address range (an open-ended interval), or 'target' 355eedbd23dSSeongJae Park for DAMON monitoring target can be written and read. 356497b099dSSeongJae Park 357497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/memcg_path 358497b099dSSeongJae ParkDate: Dec 2022 359497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 360497b099dSSeongJae ParkDescription: If 'memcg' is written to the 'type' file, writing to and 361497b099dSSeongJae Park reading from this file sets and gets the path to the memory 362497b099dSSeongJae Park cgroup of the interest. 363497b099dSSeongJae Park 3642beb97fcSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_start 3652beb97fcSSeongJae ParkDate: Jul 2023 3662beb97fcSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 3672beb97fcSSeongJae ParkDescription: If 'addr' is written to the 'type' file, writing to or reading 3682beb97fcSSeongJae Park from this file sets or gets the start address of the address 3692beb97fcSSeongJae Park range for the filter. 3702beb97fcSSeongJae Park 3712beb97fcSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/addr_end 3722beb97fcSSeongJae ParkDate: Jul 2023 3732beb97fcSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 3742beb97fcSSeongJae ParkDescription: If 'addr' is written to the 'type' file, writing to or reading 3752beb97fcSSeongJae Park from this file sets or gets the end address of the address 3762beb97fcSSeongJae Park range for the filter. 3772beb97fcSSeongJae Park 378807db03cSUsama ArifWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/min 379807db03cSUsama ArifDate: Feb 2025 380807db03cSUsama ArifContact: SeongJae Park <sj@kernel.org> 381807db03cSUsama ArifDescription: If 'hugepage_size' is written to the 'type' file, writing to 382807db03cSUsama Arif or reading from this file sets or gets the minimum size of the 383807db03cSUsama Arif hugepage for the filter. 384807db03cSUsama Arif 385807db03cSUsama ArifWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/max 386807db03cSUsama ArifDate: Feb 2025 387807db03cSUsama ArifContact: SeongJae Park <sj@kernel.org> 388807db03cSUsama ArifDescription: If 'hugepage_size' is written to the 'type' file, writing to 389807db03cSUsama Arif or reading from this file sets or gets the maximum size of the 390807db03cSUsama Arif hugepage for the filter. 391807db03cSUsama Arif 392d3d21d91SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx 393d3d21d91SSeongJae ParkDate: Dec 2022 394d3d21d91SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 395d3d21d91SSeongJae ParkDescription: If 'target' is written to the 'type' file, writing to or 396d3d21d91SSeongJae Park reading from this file sets or gets the index of the DAMON 397d3d21d91SSeongJae Park monitoring target of the interest. 3982beb97fcSSeongJae Park 399497b099dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/matching 400497b099dSSeongJae ParkDate: Dec 2022 401497b099dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 4021c2ac23dSSeongJae ParkDescription: Writing 'Y' or 'N' to this file sets whether the filter is for 4031c2ac23dSSeongJae Park the memory of the 'type', or all except the 'type'. 4041c2ac23dSSeongJae Park 4051c2ac23dSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/allow 4061c2ac23dSSeongJae ParkDate: Jan 2025 4071c2ac23dSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 4081c2ac23dSSeongJae ParkDescription: Writing 'Y' or 'N' to this file sets whether to allow or reject 4091c2ac23dSSeongJae Park applying the scheme's action to the memory that satisfies the 4101c2ac23dSSeongJae Park 'type' and the 'matching' of the directory. 411497b099dSSeongJae Park 412*899e4c14SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters 413*899e4c14SSeongJae ParkDate: Feb 2025 414*899e4c14SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 415*899e4c14SSeongJae ParkDescription: Directory for DAMON core layer-handled DAMOS filters. Files 416*899e4c14SSeongJae Park under this directory works same to those of 417*899e4c14SSeongJae Park /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters 418*899e4c14SSeongJae Park directory. 419*899e4c14SSeongJae Park 420*899e4c14SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters 421*899e4c14SSeongJae ParkDate: Feb 2025 422*899e4c14SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 423*899e4c14SSeongJae ParkDescription: Directory for DAMON operations set layer-handled DAMOS filters. 424*899e4c14SSeongJae Park Files under this directory works same to those of 425*899e4c14SSeongJae Park /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters 426*899e4c14SSeongJae Park directory. 427*899e4c14SSeongJae Park 428f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried 429f968c6a4SSeongJae ParkDate: Mar 2022 430f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 431f968c6a4SSeongJae ParkDescription: Reading this file returns the number of regions that the action 432f968c6a4SSeongJae Park of the scheme has tried to be applied. 433f968c6a4SSeongJae Park 434f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried 435f968c6a4SSeongJae ParkDate: Mar 2022 436f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 437f968c6a4SSeongJae ParkDescription: Reading this file returns the total size of regions that the 438f968c6a4SSeongJae Park action of the scheme has tried to be applied in bytes. 439f968c6a4SSeongJae Park 440f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied 441f968c6a4SSeongJae ParkDate: Mar 2022 442f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 443f968c6a4SSeongJae ParkDescription: Reading this file returns the number of regions that the action 444f968c6a4SSeongJae Park of the scheme has successfully applied. 445f968c6a4SSeongJae Park 446f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied 447f968c6a4SSeongJae ParkDate: Mar 2022 448f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 449f968c6a4SSeongJae ParkDescription: Reading this file returns the total size of regions that the 450f968c6a4SSeongJae Park action of the scheme has successfully applied in bytes. 451f968c6a4SSeongJae Park 452e1a1d377SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed 453e1a1d377SSeongJae ParkDate: Dec 2024 454e1a1d377SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 455e1a1d377SSeongJae ParkDescription: Reading this file returns the total size of memory that passed 456e1a1d377SSeongJae Park DAMON operations layer-handled filters of the scheme in bytes. 457e1a1d377SSeongJae Park 458f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds 459f968c6a4SSeongJae ParkDate: Mar 2022 460f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 461f968c6a4SSeongJae ParkDescription: Reading this file returns the number of the exceed events of 462f968c6a4SSeongJae Park the scheme's quotas. 4631b0006daSSeongJae Park 464e91b5ccfSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/total_bytes 465e91b5ccfSSeongJae ParkDate: Jul 2023 466e91b5ccfSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 467e91b5ccfSSeongJae ParkDescription: Reading this file returns the total amount of memory that 468e91b5ccfSSeongJae Park corresponding DAMON-based Operation Scheme's action has tried 469e91b5ccfSSeongJae Park to be applied. 470e91b5ccfSSeongJae Park 4711b0006daSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/start 4721b0006daSSeongJae ParkDate: Oct 2022 4731b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 4741b0006daSSeongJae ParkDescription: Reading this file returns the start address of a memory region 4751b0006daSSeongJae Park that corresponding DAMON-based Operation Scheme's action has 4761b0006daSSeongJae Park tried to be applied. 4771b0006daSSeongJae Park 4781b0006daSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/end 4791b0006daSSeongJae ParkDate: Oct 2022 4801b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 4811b0006daSSeongJae ParkDescription: Reading this file returns the end address of a memory region 4821b0006daSSeongJae Park that corresponding DAMON-based Operation Scheme's action has 4831b0006daSSeongJae Park tried to be applied. 4841b0006daSSeongJae Park 4851b0006daSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/nr_accesses 4861b0006daSSeongJae ParkDate: Oct 2022 4871b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 4881b0006daSSeongJae ParkDescription: Reading this file returns the 'nr_accesses' of a memory region 4891b0006daSSeongJae Park that corresponding DAMON-based Operation Scheme's action has 4901b0006daSSeongJae Park tried to be applied. 4911b0006daSSeongJae Park 4921b0006daSSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/age 4931b0006daSSeongJae ParkDate: Oct 2022 4941b0006daSSeongJae ParkContact: SeongJae Park <sj@kernel.org> 4951b0006daSSeongJae ParkDescription: Reading this file returns the 'age' of a memory region that 4961b0006daSSeongJae Park corresponding DAMON-based Operation Scheme's action has tried 4971b0006daSSeongJae Park to be applied. 498f1de9e69SSeongJae Park 499f1de9e69SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed 500f1de9e69SSeongJae ParkDate: Dec 2024 501f1de9e69SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 502f1de9e69SSeongJae ParkDescription: Reading this file returns the size of the memory in the region 503f1de9e69SSeongJae Park that passed DAMON operations layer-handled filters of the 504f1de9e69SSeongJae Park scheme in bytes. 505