Skip to content

Commit

Permalink
Docs/mm/damon/design: update for DAMON monitoring target type DAMOS f…
Browse files Browse the repository at this point in the history
…ilter

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

Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: SeongJae Park <[email protected]>
Cc: Brendan Higgins <[email protected]>
Cc: Jonathan Corbet <[email protected]>
Cc: Shuah Khan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
  • Loading branch information
sjp38 authored and akpm00 committed Aug 21, 2023
1 parent 9628ace commit 08ad3bb
Showing 1 changed file with 18 additions and 15 deletions.
33 changes: 18 additions & 15 deletions Documentation/mm/damon/design.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.

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.
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 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
Expand Down

0 comments on commit 08ad3bb

Please sign in to comment.