blob: 5bcf05851ad078305362f897d958e2d3f3dd0167 [file] [log] [blame]
SeongJae Park2224d842021-09-07 19:56:28 -07001# SPDX-License-Identifier: GPL-2.0-only
2
3menu "Data Access Monitoring"
4
5config 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
SeongJae Park17ccae82021-09-07 19:57:09 -070015config 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
SeongJae Park3f495842021-09-07 19:56:44 -070027config 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
Geert Uytterhoevenf24b0622021-11-05 13:45:52 -070033 that work for virtual address spaces.
SeongJae Park3f495842021-09-07 19:56:44 -070034
SeongJae Parka28397b2021-11-05 13:46:56 -070035config 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
SeongJae Park17ccae82021-09-07 19:57:09 -070043config 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
SeongJae Park4bc05952021-09-07 19:56:53 -070055config DAMON_DBGFS
56 bool "DAMON debugfs interface"
SeongJae Parkc026291a2021-11-05 13:47:00 -070057 depends on DAMON_VADDR && DAMON_PADDR && DEBUG_FS
SeongJae Park4bc05952021-09-07 19:56:53 -070058 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
SeongJae Park17ccae82021-09-07 19:57:09 -070064config 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
SeongJae Park43b05362021-11-05 13:47:57 -070076config 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
SeongJae Park2224d842021-09-07 19:56:28 -070088endmenu