1.. SPDX-License-Identifier: GPL-2.0 2 3:Original: Documentation/mm/damon/design.rst 4 5:������: 6 7 ��������� Yanteng Si <siyanteng@loongson.cn> 8 9:������: 10 11 12==== 13������ 14==== 15 16��������������� 17========== 18 19DAMON��������������������������������������������������������������������������������������������������������������������������������� 20������������������������������������������������DAMON������������������������������������������������������������������������DAMON 21��������������������������������������������������������������������������������������������������������������������������������������� 22 23������������������������������������������������������������������������������������������������������������������������������DAMON��� 24������������������������������������������������������������������������������������ 25 26������������������������������������������������������������������������������NUMA������������������������������������������������������ 27������������������������������������������������������������������������������������������������������������������ 28 29 30��������������������������������������� 31========================== 32 33���������������������������������������������������������: 34 351. ��������������������������������������������� 362. ��������������������������������������������������� 37 38DAMON������������������������������������������������������������������������������������������������������������������ 39 40 41������VMA��������������������������� 42------------------------- 43 44������������������������������������������������������������������������������������������������������������������������������������������ 45 46��������������������������������������������������������������������������������������������������������������������������������������� 47���������������������������������������������DAMON��������������������������������������������������������������������������������� 48��������������������������������������������������������������������������������������������������������������������������������������� 49��������������������������������������������������������������������������������������������� 50 51��������������������������������������������������������������������������������������������������������������������������������������� 52��������������������������������������������������������������������������������������������������������������������������������������� 53���mmap()���������������������������������������������������������������mmap()������������������������������������������������ 54���������������������������������������������������������������������������������������������������������������������������������:: 55 56 <heap> 57 <BIG UNMAPPED REGION 1> 58 <uppermost mmap()-ed region> 59 (small mmap()-ed regions and munmap()-ed regions) 60 <lowermost mmap()-ed region> 61 <BIG UNMAPPED REGION 2> 62 <stack> 63 64 65������PTE������������������������ 66----------------------- 67 68���������������������������������������������PTE Accessed-bit������������������������������������������������������������ 69���������������PTE������������������������������������������������������������������������������������������������������������������ 70������������������������������������������������������������������������������������������������������������������������������������������ 71��������������������������������������������������������������������������������������������������������������������������������������� 72������������������������������������������������DAMON��������������������������������������������������� ``PG_idle`` ��� 73``PG_young`` ��������������������������������������������������������������������������������� 74 75 76������������������������������������ 77======================== 78 79���������������������������������DAMON������������������������������������������ ``������������`` ��� ``������������`` ��� 80``������������`` ��� ``���������������`` ��� ``���������������`` ��� 81 82 83������������������ 84------------ 85 86DAMON��������������������������������������������������������������������������������������������������������������������� 87``������������`` ��� ``������������`` ������������������������������DAMON������������ ``������������`` ������ 88������������������������������������������������������������������������������������������������������ ``������������`` ��� 89���������DAMON��������������������������������������������������������������������������������������������������������������� 90���������������������������������������������������:: 91 92 while monitoring_on: 93 for page in monitoring_target: 94 if accessed(page): 95 nr_accesses[page] += 1 96 if time() % aggregation_interval == 0: 97 for callback in user_registered_callbacks: 98 callback(monitoring_target, nr_accesses) 99 for page in monitoring_target: 100 nr_accesses[page] = 0 101 sleep(sampling interval) 102 103��������������������������������������������������������������������������������������� 104 105 106��������������������������� 107------------------ 108 109���������������������������������������DAMON��������������������������������������������������������������������������������� 110��������������������������������������������������������������������������������������������������������������������������������� 111��������� ``������������`` ���DAMON��������������������������������������������������������� ``������������`` ������ 112��������������������������������������������������������������������������������������������������������������������������������� 113������������������������������DAMON������������������������������������������������������������������ 114 115��������������������������������������������������������������������������������������� 116 117 118��������������������� 119-------------- 120 121��������������������������������������������������������������������������������������������������������������������������������� 122������������������������������������������������������������������������������������������������������������DAMON������������ 123��������������������������������������������������������� 124 125������������ ``������������`` ��������������������������������������������������������������������������������������������� 126��������������������������������������������������������������������������������������������������������������������������������� 127��������������������������������������������������� 128 129���������������������DAMON��������������������������������������������������������������������������������������������������� 130 131 132������������������������������ 133-------------------- 134 135������������������������������������������������������������������������������������������������������������������������������ 136������������ 137 138���������������������������������������������������DAMON������������������������������������������������������������������ 139��������������������������������������� ``������������`` ��������������������������������������������������������������� 140���������������������������������������������������