Docs/mm/damon/design: update for DAMON monitoring target type DAMOS filter

Update DAMON design document for the newly added DAMON monitoring target
type DAMOS filter.

Link: https://lkml.kernel.org/r/20230802214312.110532-12-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Brendan Higgins <brendanhiggins@google.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
SeongJae Park 2023-08-02 21:43:10 +00:00 committed by Andrew Morton
parent 9628ace840
commit 08ad3bb3ed

View File

@ -380,21 +380,24 @@ number of filters for each scheme. Each filter specifies the type of target
memory, and whether it should exclude the memory of the type (filter-out), or
all except the memory of the type (filter-in).
Currently, anonymous page, memory cgroup, and address range type filters are
supported by the feature. Some filter target types can require additional
arguments. For example, the memory cgroup filter type asks users to specify
the file path of the memory cgroup for the filter, while the address range type
asks the start and end addresses of the range. Hence, users can apply specific
schemes to only anonymous pages, non-anonymous pages, pages of specific
cgroups, all pages excluding those of specific cgroups, pages in specific
address range, and any combination of those.
Currently, anonymous page, memory cgroup, address range, and DAMON monitoring
target type filters are supported by the feature. Some filter target types
require additional arguments. The memory cgroup filter type asks users to
specify the file path of the memory cgroup for the filter. The address range
type asks the start and end addresses of the range. The DAMON monitoring
target type asks the index of the target from the context's monitoring targets
list. Hence, users can apply specific schemes to only anonymous pages,
non-anonymous pages, pages of specific cgroups, all pages excluding those of
specific cgroups, pages in specific address range, pages in specific DAMON
monitoring targets, and any combination of those.
To handle filters efficiently, the address range type filter is handled by the
core layer, while others are handled by operations set. If a memory region is
filtered by the core layer-handled filter, it is not counted as the scheme has
tried to the region. In contrast, if a memory regions is filtered by an
operations set layer-handled filter, it is counted as the scheme has tried.
The difference in accounting leads to changes in the statistics.
To handle filters efficiently, the address range and DAMON monitoring target
type filters are handled by the core layer, while others are handled by
operations set. If a memory region is filtered by a core layer-handled filter,
it is not counted as the scheme has tried to the region. In contrast, if a
memory regions is filtered by an operations set layer-handled filter, it is
counted as the scheme has tried. The difference in accounting leads to changes
in the statistics.
Application Programming Interface