xref: /openbmc/linux/Documentation/mm/damon/index.rst (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1ee65728eSMike Rapoport.. SPDX-License-Identifier: GPL-2.0
2ee65728eSMike Rapoport
3ee65728eSMike Rapoport==========================
4ee65728eSMike RapoportDAMON: Data Access MONitor
5ee65728eSMike Rapoport==========================
6ee65728eSMike Rapoport
786834644SSeongJae ParkDAMON is a Linux kernel subsystem that provides a framework for data access
886834644SSeongJae Parkmonitoring and the monitoring results based system operations.  The core
986834644SSeongJae Parkmonitoring mechanisms of DAMON (refer to :doc:`design` for the detail) make it
10ee65728eSMike Rapoport
11ee65728eSMike Rapoport - *accurate* (the monitoring output is useful enough for DRAM level memory
12ee65728eSMike Rapoport   management; It might not appropriate for CPU Cache levels, though),
13ee65728eSMike Rapoport - *light-weight* (the monitoring overhead is low enough to be applied online),
14ee65728eSMike Rapoport   and
15ee65728eSMike Rapoport - *scalable* (the upper-bound of the overhead is in constant range regardless
16ee65728eSMike Rapoport   of the size of target workloads).
17ee65728eSMike Rapoport
1886834644SSeongJae ParkUsing this framework, therefore, the kernel can operate system in an
1986834644SSeongJae Parkaccess-aware fashion.  Because the features are also exposed to the user space,
2086834644SSeongJae Parkusers who have special information about their workloads can write personalized
2186834644SSeongJae Parkapplications for better understanding and optimizations of their workloads and
2286834644SSeongJae Parksystems.
2386834644SSeongJae Park
2486834644SSeongJae ParkFor easier development of such systems, DAMON provides a feature called DAMOS
2586834644SSeongJae Park(DAMon-based Operation Schemes) in addition to the monitoring.  Using the
2686834644SSeongJae Parkfeature, DAMON users in both kernel and user spaces can do access-aware system
2786834644SSeongJae Parkoperations with no code but simple configurations.
28ee65728eSMike Rapoport
29ee65728eSMike Rapoport.. toctree::
30ee65728eSMike Rapoport   :maxdepth: 2
31ee65728eSMike Rapoport
32ee65728eSMike Rapoport   faq
33ee65728eSMike Rapoport   design
34ee65728eSMike Rapoport   api
35*e7366f3aSSeongJae Park   maintainer-profile
36