mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 16:07:39 +00:00
c638072107
This updates the DAMON documents for the physical memory address space monitoring support. Link: https://lkml.kernel.org/r/20211012205711.29216-8-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Cc: Amit Shah <amit@kernel.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Brendan Higgins <brendanhiggins@google.com> Cc: David Hildenbrand <david@redhat.com> Cc: David Rienjes <rientjes@google.com> Cc: David Woodhouse <dwmw@amazon.com> Cc: Greg Thelen <gthelen@google.com> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Leonard Foerster <foersleo@amazon.de> Cc: Marco Elver <elver@google.com> Cc: Markus Boehme <markubo@amazon.de> Cc: Shakeel Butt <shakeelb@google.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
50 lines
2.2 KiB
ReStructuredText
50 lines
2.2 KiB
ReStructuredText
.. 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 low level primitive parts 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.
|