mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.2 KiB
106 lines
3.2 KiB
# SPDX-License-Identifier: GPL-2.0-only |
|
|
|
menu "Data Access Monitoring" |
|
|
|
config DAMON |
|
bool "DAMON: Data Access Monitoring Framework" |
|
help |
|
This builds a framework that allows kernel subsystems to monitor |
|
access frequency of each memory region. The information can be useful |
|
for performance-centric DRAM level memory management. |
|
|
|
See https://damonitor.github.io/doc/html/latest-damon/index.html for |
|
more information. |
|
|
|
config DAMON_KUNIT_TEST |
|
bool "Test for damon" if !KUNIT_ALL_TESTS |
|
depends on DAMON && KUNIT=y |
|
default KUNIT_ALL_TESTS |
|
help |
|
This builds the DAMON Kunit test suite. |
|
|
|
For more information on KUnit and unit tests in general, please refer |
|
to the KUnit documentation. |
|
|
|
If unsure, say N. |
|
|
|
config DAMON_VADDR |
|
bool "Data access monitoring operations for virtual address spaces" |
|
depends on DAMON && MMU |
|
select PAGE_IDLE_FLAG |
|
help |
|
This builds the default data access monitoring operations for DAMON |
|
that work for virtual address spaces. |
|
|
|
config DAMON_PADDR |
|
bool "Data access monitoring operations for the physical address space" |
|
depends on DAMON && MMU |
|
select PAGE_IDLE_FLAG |
|
help |
|
This builds the default data access monitoring operations for DAMON |
|
that works for the physical address space. |
|
|
|
config DAMON_VADDR_KUNIT_TEST |
|
bool "Test for DAMON operations" if !KUNIT_ALL_TESTS |
|
depends on DAMON_VADDR && KUNIT=y |
|
default KUNIT_ALL_TESTS |
|
help |
|
This builds the DAMON virtual addresses operations Kunit test suite. |
|
|
|
For more information on KUnit and unit tests in general, please refer |
|
to the KUnit documentation. |
|
|
|
If unsure, say N. |
|
|
|
config DAMON_SYSFS |
|
bool "DAMON sysfs interface" |
|
depends on DAMON && SYSFS |
|
help |
|
This builds the sysfs interface for DAMON. The user space can use |
|
the interface for arbitrary data access monitoring. |
|
|
|
config DAMON_DBGFS |
|
bool "DAMON debugfs interface" |
|
depends on DAMON_VADDR && DAMON_PADDR && DEBUG_FS |
|
help |
|
This builds the debugfs interface for DAMON. The user space admins |
|
can use the interface for arbitrary data access monitoring. |
|
|
|
If unsure, say N. |
|
|
|
This will be removed after >5.15.y LTS kernel is released, so users |
|
should move to the sysfs interface (DAMON_SYSFS). |
|
|
|
config DAMON_DBGFS_KUNIT_TEST |
|
bool "Test for damon debugfs interface" if !KUNIT_ALL_TESTS |
|
depends on DAMON_DBGFS && KUNIT=y |
|
default KUNIT_ALL_TESTS |
|
help |
|
This builds the DAMON debugfs interface Kunit test suite. |
|
|
|
For more information on KUnit and unit tests in general, please refer |
|
to the KUnit documentation. |
|
|
|
If unsure, say N. |
|
|
|
config DAMON_RECLAIM |
|
bool "Build DAMON-based reclaim (DAMON_RECLAIM)" |
|
depends on DAMON_PADDR |
|
help |
|
This builds the DAMON-based reclamation subsystem. It finds pages |
|
that not accessed for a long time (cold) using DAMON and reclaim |
|
those. |
|
|
|
This is suggested to be used as a proactive and lightweight |
|
reclamation under light memory pressure, while the traditional page |
|
scanning-based reclamation is used for heavy pressure. |
|
|
|
config DAMON_LRU_SORT |
|
bool "Build DAMON-based LRU-lists sorting (DAMON_LRU_SORT)" |
|
depends on DAMON_PADDR |
|
help |
|
This builds the DAMON-based LRU-lists sorting subsystem. It tries to |
|
protect frequently accessed (hot) pages while rarely accessed (cold) |
|
pages reclaimed first under memory pressure. |
|
|
|
endmenu
|
|
|