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 26f968c6a4SSeongJae Park based on the current status. Writing 'update_schemes_stats' to 27f968c6a4SSeongJae Park the file updates contents of schemes stats files of the 28f968c6a4SSeongJae Park kdamond. 29f968c6a4SSeongJae Park 30f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/pid 31f968c6a4SSeongJae ParkDate: Mar 2022 32f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 33f968c6a4SSeongJae ParkDescription: Reading this file returns the pid of the kdamond if it is 34f968c6a4SSeongJae Park running. 35f968c6a4SSeongJae Park 36f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/nr_contexts 37f968c6a4SSeongJae ParkDate: Mar 2022 38f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 39f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 40f968c6a4SSeongJae Park directories for controlling each DAMON context named '0' to 41f968c6a4SSeongJae Park 'N-1' under the contexts/ directory. 42f968c6a4SSeongJae Park 43*2fe60ec9SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/avail_operations 44*2fe60ec9SSeongJae ParkDate: Apr 2022 45*2fe60ec9SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 46*2fe60ec9SSeongJae ParkDescription: Reading this file returns the available monitoring operations 47*2fe60ec9SSeongJae Park sets on the currently running kernel. 48*2fe60ec9SSeongJae Park 49f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/operations 50f968c6a4SSeongJae ParkDate: Mar 2022 51f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 52f968c6a4SSeongJae ParkDescription: Writing a keyword for a monitoring operations set ('vaddr' for 53f968c6a4SSeongJae Park virtual address spaces monitoring, and 'paddr' for the physical 54f968c6a4SSeongJae Park address space monitoring) to this file makes the context to use 55f968c6a4SSeongJae Park the operations set. Reading the file returns the keyword for 56*2fe60ec9SSeongJae Park the operations set the context is set to use. Note that only 57*2fe60ec9SSeongJae Park the operations sets that listed in 'avail_operations' file are 58*2fe60ec9SSeongJae Park valid inputs. 59f968c6a4SSeongJae Park 60f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/sample_us 61f968c6a4SSeongJae ParkDate: Mar 2022 62f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 63f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the sampling interval of the 64f968c6a4SSeongJae Park DAMON context in microseconds as the value. Reading this file 65f968c6a4SSeongJae Park returns the value. 66f968c6a4SSeongJae Park 67f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us 68f968c6a4SSeongJae ParkDate: Mar 2022 69f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 70f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the aggregation interval of 71f968c6a4SSeongJae Park the DAMON context in microseconds as the value. Reading this 72f968c6a4SSeongJae Park file returns the value. 73f968c6a4SSeongJae Park 74f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us 75f968c6a4SSeongJae ParkDate: Mar 2022 76f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 77f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the update interval of the 78f968c6a4SSeongJae Park DAMON context in microseconds as the value. Reading this file 79f968c6a4SSeongJae Park returns the value. 80f968c6a4SSeongJae Park 81f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min 82f968c6a4SSeongJae Park 83f968c6a4SSeongJae ParkWDate: Mar 2022 84f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 85f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the minimum number of 86f968c6a4SSeongJae Park monitoring regions of the DAMON context as the value. Reading 87f968c6a4SSeongJae Park this file returns the value. 88f968c6a4SSeongJae Park 89f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max 90f968c6a4SSeongJae ParkDate: Mar 2022 91f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 92f968c6a4SSeongJae ParkDescription: Writing a value to this file sets the maximum number of 93f968c6a4SSeongJae Park monitoring regions of the DAMON context as the value. Reading 94f968c6a4SSeongJae Park this file returns the value. 95f968c6a4SSeongJae Park 96f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/nr_targets 97f968c6a4SSeongJae ParkDate: Mar 2022 98f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 99f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 100f968c6a4SSeongJae Park directories for controlling each DAMON target of the context 101f968c6a4SSeongJae Park named '0' to 'N-1' under the contexts/ directory. 102f968c6a4SSeongJae Park 103f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target 104f968c6a4SSeongJae ParkDate: Mar 2022 105f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 106f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the pid of 107f968c6a4SSeongJae Park the target process if the context is for virtual address spaces 108f968c6a4SSeongJae Park monitoring, respectively. 109f968c6a4SSeongJae Park 110f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions 111f968c6a4SSeongJae ParkDate: Mar 2022 112f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 113f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 114f968c6a4SSeongJae Park directories for setting each DAMON target memory region of the 115f968c6a4SSeongJae Park context named '0' to 'N-1' under the regions/ directory. In 116f968c6a4SSeongJae Park case of the virtual address space monitoring, DAMON 117f968c6a4SSeongJae Park automatically sets the target memory region based on the target 118f968c6a4SSeongJae Park processes' mappings. 119f968c6a4SSeongJae Park 120f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start 121f968c6a4SSeongJae ParkDate: Mar 2022 122f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 123f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the start 124f968c6a4SSeongJae Park address of the monitoring region. 125f968c6a4SSeongJae Park 126f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end 127f968c6a4SSeongJae ParkDate: Mar 2022 128f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 129f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the end 130f968c6a4SSeongJae Park address of the monitoring region. 131f968c6a4SSeongJae Park 132f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes 133f968c6a4SSeongJae ParkDate: Mar 2022 134f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 135f968c6a4SSeongJae ParkDescription: Writing a number 'N' to this file creates the number of 136f968c6a4SSeongJae Park directories for controlling each DAMON-based operation scheme 137f968c6a4SSeongJae Park of the context named '0' to 'N-1' under the schemes/ directory. 138f968c6a4SSeongJae Park 139f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/action 140f968c6a4SSeongJae ParkDate: Mar 2022 141f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 142f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the action 143f968c6a4SSeongJae Park of the scheme. 144f968c6a4SSeongJae Park 145f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min 146f968c6a4SSeongJae ParkDate: Mar 2022 147f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 148f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the mimimum 149f968c6a4SSeongJae Park size of the scheme's target regions in bytes. 150f968c6a4SSeongJae Park 151f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/max 152f968c6a4SSeongJae ParkDate: Mar 2022 153f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 154f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 155f968c6a4SSeongJae Park size of the scheme's target regions in bytes. 156f968c6a4SSeongJae Park 157f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/min 158f968c6a4SSeongJae ParkDate: Mar 2022 159f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 160f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the manimum 161f968c6a4SSeongJae Park 'nr_accesses' of the scheme's target regions. 162f968c6a4SSeongJae Park 163f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/nr_accesses/max 164f968c6a4SSeongJae ParkDate: Mar 2022 165f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 166f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 167f968c6a4SSeongJae Park 'nr_accesses' of the scheme's target regions. 168f968c6a4SSeongJae Park 169f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/min 170f968c6a4SSeongJae ParkDate: Mar 2022 171f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 172f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the minimum 173f968c6a4SSeongJae Park 'age' of the scheme's target regions. 174f968c6a4SSeongJae Park 175f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/age/max 176f968c6a4SSeongJae ParkDate: Mar 2022 177f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 178f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the maximum 179f968c6a4SSeongJae Park 'age' of the scheme's target regions. 180f968c6a4SSeongJae Park 181f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/ms 182f968c6a4SSeongJae ParkDate: Mar 2022 183f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 184f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the time 185f968c6a4SSeongJae Park quota of the scheme in milliseconds. 186f968c6a4SSeongJae Park 187f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/bytes 188f968c6a4SSeongJae ParkDate: Mar 2022 189f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 190f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the size 191f968c6a4SSeongJae Park quota of the scheme in bytes. 192f968c6a4SSeongJae Park 193f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/reset_interval_ms 194f968c6a4SSeongJae ParkDate: Mar 2022 195f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 196f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the quotas 197f968c6a4SSeongJae Park charge reset interval of the scheme in milliseconds. 198f968c6a4SSeongJae Park 199f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil 200f968c6a4SSeongJae ParkDate: Mar 2022 201f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 202f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the 203f968c6a4SSeongJae Park under-quota limit regions prioritization weight for 'size' in 204f968c6a4SSeongJae Park permil. 205f968c6a4SSeongJae Park 206f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/nr_accesses_permil 207f968c6a4SSeongJae ParkDate: Mar 2022 208f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 209f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the 210f968c6a4SSeongJae Park under-quota limit regions prioritization weight for 211f968c6a4SSeongJae Park 'nr_accesses' in permil. 212f968c6a4SSeongJae Park 213f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/age_permil 214f968c6a4SSeongJae ParkDate: Mar 2022 215f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 216f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the 217f968c6a4SSeongJae Park under-quota limit regions prioritization weight for 'age' in 218f968c6a4SSeongJae Park permil. 219f968c6a4SSeongJae Park 220f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/metric 221f968c6a4SSeongJae ParkDate: Mar 2022 222f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 223f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the metric 224f968c6a4SSeongJae Park of the watermarks for the scheme. The writable/readable 225f968c6a4SSeongJae Park keywords for this file are 'none' for disabling the watermarks 226f968c6a4SSeongJae Park feature, or 'free_mem_rate' for the system's global free memory 227f968c6a4SSeongJae Park rate in permil. 228f968c6a4SSeongJae Park 229f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/interval_us 230f968c6a4SSeongJae ParkDate: Mar 2022 231f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 232f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the metric 233f968c6a4SSeongJae Park check interval of the watermarks for the scheme in 234f968c6a4SSeongJae Park microseconds. 235f968c6a4SSeongJae Park 236f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/high 237f968c6a4SSeongJae ParkDate: Mar 2022 238f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 239f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the high 240f968c6a4SSeongJae Park watermark of the scheme in permil. 241f968c6a4SSeongJae Park 242f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/mid 243f968c6a4SSeongJae ParkDate: Mar 2022 244f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 245f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the mid 246f968c6a4SSeongJae Park watermark of the scheme in permil. 247f968c6a4SSeongJae Park 248f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/watermarks/low 249f968c6a4SSeongJae ParkDate: Mar 2022 250f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 251f968c6a4SSeongJae ParkDescription: Writing to and reading from this file sets and gets the low 252f968c6a4SSeongJae Park watermark of the scheme in permil. 253f968c6a4SSeongJae Park 254f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried 255f968c6a4SSeongJae ParkDate: Mar 2022 256f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 257f968c6a4SSeongJae ParkDescription: Reading this file returns the number of regions that the action 258f968c6a4SSeongJae Park of the scheme has tried to be applied. 259f968c6a4SSeongJae Park 260f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_tried 261f968c6a4SSeongJae ParkDate: Mar 2022 262f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 263f968c6a4SSeongJae ParkDescription: Reading this file returns the total size of regions that the 264f968c6a4SSeongJae Park action of the scheme has tried to be applied in bytes. 265f968c6a4SSeongJae Park 266f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_applied 267f968c6a4SSeongJae ParkDate: Mar 2022 268f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 269f968c6a4SSeongJae ParkDescription: Reading this file returns the number of regions that the action 270f968c6a4SSeongJae Park of the scheme has successfully applied. 271f968c6a4SSeongJae Park 272f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_applied 273f968c6a4SSeongJae ParkDate: Mar 2022 274f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 275f968c6a4SSeongJae ParkDescription: Reading this file returns the total size of regions that the 276f968c6a4SSeongJae Park action of the scheme has successfully applied in bytes. 277f968c6a4SSeongJae Park 278f968c6a4SSeongJae ParkWhat: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds 279f968c6a4SSeongJae ParkDate: Mar 2022 280f968c6a4SSeongJae ParkContact: SeongJae Park <sj@kernel.org> 281f968c6a4SSeongJae ParkDescription: Reading this file returns the number of the exceed events of 282f968c6a4SSeongJae Park the scheme's quotas. 283