| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- # 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://www.kernel.org/doc/html/latest/mm/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_SYSFS_KUNIT_TEST
- bool "Test for damon debugfs interface" if !KUNIT_ALL_TESTS
- depends on DAMON_SYSFS && KUNIT=y
- default KUNIT_ALL_TESTS
- help
- This builds the DAMON sysfs 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_DBGFS_DEPRECATED
- 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
- bool
- default y
- depends on DAMON_DBGFS_DEPRECATED
- 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
|