Merge tag 'bcachefs-2024-10-05' of git://evilpiepirate.org/bcachefs
[linux-block.git] / Documentation / mm / damon / index.rst
CommitLineData
c4ba6014
SP
1.. SPDX-License-Identifier: GPL-2.0
2
3==========================
4DAMON: Data Access MONitor
5==========================
6
86834644
SP
7DAMON is a Linux kernel subsystem that provides a framework for data access
8monitoring and the monitoring results based system operations. The core
5fb9f044 9monitoring :ref:`mechanisms <damon_design_monitoring>` of DAMON make it
c4ba6014
SP
10
11 - *accurate* (the monitoring output is useful enough for DRAM level memory
12 management; It might not appropriate for CPU Cache levels, though),
13 - *light-weight* (the monitoring overhead is low enough to be applied online),
14 and
15 - *scalable* (the upper-bound of the overhead is in constant range regardless
16 of the size of target workloads).
17
86834644 18Using this framework, therefore, the kernel can operate system in an
f6a6de24
SP
19access-aware fashion. Because the features are also exposed to the :doc:`user
20space </admin-guide/mm/damon/index>`, users who have special information about
21their workloads can write personalized applications for better understanding
22and optimizations of their workloads and systems.
86834644 23
5fb9f044
SP
24For easier development of such systems, DAMON provides a feature called
25:ref:`DAMOS <damon_design_damos>` (DAMon-based Operation Schemes) in addition
f6a6de24
SP
26to the monitoring. Using the feature, DAMON users in both kernel and :doc:`user
27spaces </admin-guide/mm/damon/index>` can do access-aware system operations
28with no code but simple configurations.
c4ba6014
SP
29
30.. toctree::
31 :maxdepth: 2
32
33 faq
34 design
35 api
e7366f3a 36 maintainer-profile
f6a6de24
SP
37
38To utilize and control DAMON from the user-space, please refer to the
39administration :doc:`guide </admin-guide/mm/damon/index>`.