1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- .. SPDX-License-Identifier: GPL-2.0
- ==========================
- Frequently Asked Questions
- ==========================
- Why a new subsystem, instead of extending perf or other user space tools?
- =========================================================================
- First, because it needs to be lightweight as much as possible so that it can be
- used online, any unnecessary overhead such as kernel - user space context
- switching cost should be avoided. Second, DAMON aims to be used by other
- programs including the kernel. Therefore, having a dependency on specific
- tools like perf is not desirable. These are the two biggest reasons why DAMON
- is implemented in the kernel space.
- Can 'idle pages tracking' or 'perf mem' substitute DAMON?
- =========================================================
- Idle page tracking is a low level primitive for access check of the physical
- address space. 'perf mem' is similar, though it can use sampling to minimize
- the overhead. On the other hand, DAMON is a higher-level framework for the
- monitoring of various address spaces. It is focused on memory management
- optimization and provides sophisticated accuracy/overhead handling mechanisms.
- Therefore, 'idle pages tracking' and 'perf mem' could provide a subset of
- DAMON's output, but cannot substitute DAMON.
- Does DAMON support virtual memory only?
- =======================================
- No. The core of the DAMON is address space independent. The address space
- specific monitoring operations including monitoring target regions
- constructions and actual access checks can be implemented and configured on the
- DAMON core by the users. In this way, DAMON users can monitor any address
- space with any access check technique.
- Nonetheless, DAMON provides vma/rmap tracking and PTE Accessed bit check based
- implementations of the address space dependent functions for the virtual memory
- and the physical memory by default, for a reference and convenient use.
- Can I simply monitor page granularity?
- ======================================
- Yes. You can do so by setting the ``min_nr_regions`` attribute higher than the
- working set size divided by the page size. Because the monitoring target
- regions size is forced to be ``>=page size``, the region split will make no
- effect.
|