Commit 375af850 authored by SeongJae Park's avatar SeongJae Park Committed by Andrew Morton

Docs/admin-guide/mm/damon/usage: update for address range type DAMOS filter

Update DAMON usage document for the newly added address range type DAMOS
filter.

Link: https://lkml.kernel.org/r/20230802214312.110532-8-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 2beb97fc
...@@ -363,15 +363,18 @@ number (``N``) to the file creates the number of child directories named ``0`` ...@@ -363,15 +363,18 @@ 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 three files, namely ``type``, ``matcing``, and Each filter directory contains five files, namely ``type``, ``matcing``,
``memcg_path``. You can write one of two special keywords, ``anon`` for ``memcg_path``, ``addr_start``, and ``addr_end``. To ``type`` file, you can
anonymous pages, or ``memcg`` for specific memory cgroup filtering. In case of write one of three special keywords: ``anon`` for anonymous pages, ``memcg``
the memory cgroup filtering, you can specify the memory cgroup of the interest for specific memory cgroup, or ``addr`` for specific address range (an
by writing the path of the memory cgroup from the cgroups mount point to open-ended interval) filtering. In case of the memory cgroup filtering, you
``memcg_path`` file. You can write ``Y`` or ``N`` to ``matching`` file to can specify the memory cgroup of the interest by writing the path of the memory
filter out pages that does or does not match to the type, respectively. Then, cgroup from the cgroups mount point to ``memcg_path`` file. In case of the
the scheme's action will not be applied to the pages that specified to be address range filtering, you can specify the start and end address of the range
filtered out. 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.
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``.::
...@@ -385,8 +388,14 @@ pages of all memory cgroups except ``/having_care_already``.:: ...@@ -385,8 +388,14 @@ pages of all memory cgroups except ``/having_care_already``.::
echo /having_care_already > 1/memcg_path echo /having_care_already > 1/memcg_path
echo N > 1/matching echo N > 1/matching
Note that filters are currently supported only when ``paddr`` Note that ``anon`` and ``memcg`` filters are currently supported only when
`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
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: .. _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