61e88a2f66
DAMON debugfs interface has announced to be deprecated after >v5.15 LTS kernel is released. And, v6.1.y has announced to be an LTS[1]. Though the announcement was there for a while, some people might not noticed that so far. Also, some users could depend on it and have problems at movng to the alternative (DAMON sysfs interface). For such cases, note DAMON debugfs interface as deprecated, and contacts to ask helps on the Kconfig. [1] https://git.kernel.org/pub/scm/docs/kernel/website.git/commit/?id=332e9121320bc7461b2d3a79665caf153e51732c Link: https://lkml.kernel.org/r/20230209192009.7885-3-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
108 lines
3.3 KiB
Plaintext
108 lines
3.3 KiB
Plaintext
# 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 (DEPRECATED!)"
|
|
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 is deprecated, so users should move to the sysfs interface
|
|
(DAMON_SYSFS). If you depend on this and cannot move, please report
|
|
your usecase to damon@lists.linux.dev and linux-mm@kvack.org.
|
|
|
|
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
|