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���������������������������������������������������