Commit | Line | Data |
---|---|---|
2224d848 SP |
1 | # SPDX-License-Identifier: GPL-2.0-only |
2 | ||
3 | menu "Data Access Monitoring" | |
4 | ||
5 | config DAMON | |
6 | bool "DAMON: Data Access Monitoring Framework" | |
7 | help | |
8 | This builds a framework that allows kernel subsystems to monitor | |
9 | access frequency of each memory region. The information can be useful | |
10 | for performance-centric DRAM level memory management. | |
11 | ||
12 | See https://damonitor.github.io/doc/html/latest-damon/index.html for | |
13 | more information. | |
14 | ||
17ccae8b SP |
15 | config DAMON_KUNIT_TEST |
16 | bool "Test for damon" if !KUNIT_ALL_TESTS | |
17 | depends on DAMON && KUNIT=y | |
18 | default KUNIT_ALL_TESTS | |
19 | help | |
20 | This builds the DAMON Kunit test suite. | |
21 | ||
22 | For more information on KUnit and unit tests in general, please refer | |
23 | to the KUnit documentation. | |
24 | ||
25 | If unsure, say N. | |
26 | ||
3f49584b SP |
27 | config DAMON_VADDR |
28 | bool "Data access monitoring primitives for virtual address spaces" | |
29 | depends on DAMON && MMU | |
30 | select PAGE_IDLE_FLAG | |
31 | help | |
32 | This builds the default data access monitoring primitives for DAMON | |
f24b0626 | 33 | that work for virtual address spaces. |
3f49584b | 34 | |
a28397be SP |
35 | config DAMON_PADDR |
36 | bool "Data access monitoring primitives for the physical address space" | |
37 | depends on DAMON && MMU | |
38 | select PAGE_IDLE_FLAG | |
39 | help | |
40 | This builds the default data access monitoring primitives for DAMON | |
41 | that works for the physical address space. | |
42 | ||
17ccae8b SP |
43 | config DAMON_VADDR_KUNIT_TEST |
44 | bool "Test for DAMON primitives" if !KUNIT_ALL_TESTS | |
45 | depends on DAMON_VADDR && KUNIT=y | |
46 | default KUNIT_ALL_TESTS | |
47 | help | |
48 | This builds the DAMON virtual addresses primitives Kunit test suite. | |
49 | ||
50 | For more information on KUnit and unit tests in general, please refer | |
51 | to the KUnit documentation. | |
52 | ||
53 | If unsure, say N. | |
54 | ||
4bc05954 SP |
55 | config DAMON_DBGFS |
56 | bool "DAMON debugfs interface" | |
c026291a | 57 | depends on DAMON_VADDR && DAMON_PADDR && DEBUG_FS |
4bc05954 SP |
58 | help |
59 | This builds the debugfs interface for DAMON. The user space admins | |
60 | can use the interface for arbitrary data access monitoring. | |
61 | ||
62 | If unsure, say N. | |
63 | ||
17ccae8b SP |
64 | config DAMON_DBGFS_KUNIT_TEST |
65 | bool "Test for damon debugfs interface" if !KUNIT_ALL_TESTS | |
66 | depends on DAMON_DBGFS && KUNIT=y | |
67 | default KUNIT_ALL_TESTS | |
68 | help | |
69 | This builds the DAMON debugfs interface Kunit test suite. | |
70 | ||
71 | For more information on KUnit and unit tests in general, please refer | |
72 | to the KUnit documentation. | |
73 | ||
74 | If unsure, say N. | |
75 | ||
43b0536c SP |
76 | config DAMON_RECLAIM |
77 | bool "Build DAMON-based reclaim (DAMON_RECLAIM)" | |
78 | depends on DAMON_PADDR | |
79 | help | |
80 | This builds the DAMON-based reclamation subsystem. It finds pages | |
81 | that not accessed for a long time (cold) using DAMON and reclaim | |
82 | those. | |
83 | ||
84 | This is suggested to be used as a proactive and lightweight | |
85 | reclamation under light memory pressure, while the traditional page | |
86 | scanning-based reclamation is used for heavy pressure. | |
87 | ||
2224d848 | 88 | endmenu |