Docs/admin-guide/mm/damon/usage: update for DAMON monitoring target type DAMOS filter

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

Link: https://lkml.kernel.org/r/20230802214312.110532-14-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:12 +00:00 committed by Andrew Morton
parent d3d21d91ae
commit 41a7ed8cfd
1 changed files with 20 additions and 17 deletions

View File

@ -363,18 +363,21 @@ number (``N``) to the file creates the number of child directories named ``0``
to ``N-1``. Each directory represents each filter. The filters are evaluated
in the numeric order.
Each filter directory contains five files, namely ``type``, ``matcing``,
``memcg_path``, ``addr_start``, and ``addr_end``. To ``type`` file, you can
write one of three special keywords: ``anon`` for anonymous pages, ``memcg``
for specific memory cgroup, or ``addr`` for specific address range (an
open-ended interval) filtering. In case of the memory cgroup filtering, you
can specify the memory cgroup of the interest by writing the path of the memory
cgroup from the cgroups mount point to ``memcg_path`` file. In case of the
address range filtering, you can specify the start and end address of the range
to ``addr_start`` and ``addr_end`` files, respectively. You can write ``Y`` or
``N`` to ``matching`` file to filter out pages that does or does not match to
the type, respectively. Then, the scheme's action will not be applied to the
pages that specified to be filtered out.
Each filter directory contains six files, namely ``type``, ``matcing``,
``memcg_path``, ``addr_start``, ``addr_end``, and ``target_idx``. To ``type``
file, you can write one of four special keywords: ``anon`` for anonymous pages,
``memcg`` for specific memory cgroup, ``addr`` for specific address range (an
open-ended interval), or ``target`` for specific DAMON monitoring target
filtering. In case of the memory cgroup filtering, you can specify the memory
cgroup of the interest by writing the path of the memory cgroup from the
cgroups mount point to ``memcg_path`` file. In case of the address range
filtering, you can specify the start and end address of the range to
``addr_start`` and ``addr_end`` files, respectively. For the DAMON monitoring
target filtering, you can specify the index of the target between the list of
the DAMON context's monitoring targets list to ``target_idx`` file. You can
write ``Y`` or ``N`` to ``matching`` file to filter out pages that does or does
not match to the type, respectively. Then, the scheme's action will not be
applied to the pages that specified to be filtered out.
For example, below restricts a DAMOS action to be applied to only non-anonymous
pages of all memory cgroups except ``/having_care_already``.::
@ -391,11 +394,11 @@ pages of all memory cgroups except ``/having_care_already``.::
Note that ``anon`` and ``memcg`` filters are currently supported only when
``paddr`` `implementation <sysfs_contexts>` is being used.
Also, memory regions that are filtered out by ``addr`` filters are not counted
as the scheme has tried to those, while regions that filtered out by other type
filters are counted as the scheme has tried to. The difference is applied to
:ref:`stats <damos_stats>` and :ref:`tried regions
<sysfs_schemes_tried_regions>`.
Also, memory regions that are filtered out by ``addr`` or ``target`` filters
are not counted as the scheme has tried to those, while regions that filtered
out by other type filters are counted as the scheme has tried to. The
difference is applied to :ref:`stats <damos_stats>` and
:ref:`tried regions <sysfs_schemes_tried_regions>`.
.. _sysfs_schemes_stats: