Commit 41a7ed8c authored by SeongJae Park's avatar SeongJae Park Committed by Andrew Morton

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