Skip to content

Commit 2f02fbb

Browse files
sjp38akpm00
authored andcommitted
Docs/mm/damon/design: use a list for supported filters
Filters section is listing currently supported filter types in a normal paragraph. Since the number of types are higher than four, it is not easy to read for only specific types. Use a list for easier finding of specific types. [sj@kernel.org: fix build warning] Link: https://lkml.kernel.org/r/20240507161747.52430-1-sj@kernel.org Link: https://lkml.kernel.org/r/20240503180318.72798-9-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent 14e70e4 commit 2f02fbb

File tree

1 file changed

+26
-20
lines changed

1 file changed

+26
-20
lines changed

Documentation/mm/damon/design.rst

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -461,26 +461,32 @@ number of filters for each scheme. Each filter specifies the type of target
461461
memory, and whether it should exclude the memory of the type (filter-out), or
462462
all except the memory of the type (filter-in).
463463

464-
Currently, anonymous page, memory cgroup, young page, address range, and DAMON
465-
monitoring target type filters are supported by the feature. Some filter
466-
target types require additional arguments. The memory cgroup filter type asks
467-
users to specify the file path of the memory cgroup for the filter. The
468-
address range type asks the start and end addresses of the range. The DAMON
469-
monitoring target type asks the index of the target from the context's
470-
monitoring targets list. Hence, users can apply specific schemes to only
471-
anonymous pages, non-anonymous pages, pages of specific cgroups, all pages
472-
excluding those of specific cgroups, pages that not accessed after the last
473-
access check from the scheme, pages that accessed after the last access check
474-
from the scheme, pages in specific address range, pages in specific DAMON
475-
monitoring targets, and any combination of those.
476-
477-
To handle filters efficiently, the address range and DAMON monitoring target
478-
type filters are handled by the core layer, while others are handled by
479-
operations set. If a memory region is filtered by a core layer-handled filter,
480-
it is not counted as the scheme has tried to the region. In contrast, if a
481-
memory regions is filtered by an operations set layer-handled filter, it is
482-
counted as the scheme has tried. The difference in accounting leads to changes
483-
in the statistics.
464+
For efficient handling of filters, some types of filters are handled by the
465+
core layer, while others are handled by operations set. In the latter case,
466+
hence, support of the filter types depends on the DAMON operations set. In
467+
case of the core layer-handled filters, the memory regions that excluded by the
468+
filter are not counted as the scheme has tried to the region. In contrast, if
469+
a memory regions is filtered by an operations set layer-handled filter, it is
470+
counted as the scheme has tried. This difference affects the statistics.
471+
472+
Below types of filters are currently supported.
473+
474+
- anonymous page
475+
- Applied to pages that containing data that not stored in files.
476+
- Handled by operations set layer. Supported by only ``paddr`` set.
477+
- memory cgroup
478+
- Applied to pages that belonging to a given cgroup.
479+
- Handled by operations set layer. Supported by only ``paddr`` set.
480+
- young page
481+
- Applied to pages that are accessed after the last access check from the
482+
scheme.
483+
- Handled by operations set layer. Supported by only ``paddr`` set.
484+
- address range
485+
- Applied to pages that belonging to a given address range.
486+
- Handled by the core logic.
487+
- DAMON monitoring target
488+
- Applied to pages that belonging to a given DAMON monitoring target.
489+
- Handled by the core logic.
484490

485491

486492
Application Programming Interface

0 commit comments

Comments
 (0)