Docs/mm/damon/design: document damos quota goal complement flag

Update DAMON design document for the newly added damos quota goal metric
value complement flag.

Link: https://lore.kernel.org/20260929080113.41708-7-sj@kernel.org
Signed-off-by: SJ Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Liam R. Howlett <liam@infradead.org>
Cc: David Hildenbrand <david@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Lorenzo Stoakes <ljs@kernel.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@kernel.org>
This commit is contained in:
SJ Park 2026-09-29 01:01:09 -07:00 committed by Andrew Morton
parent 1aa52bdc45
commit 18ab75fb3c

View File

@ -702,10 +702,10 @@ There are two such tuning algorithms that users can select as they need.
that the zero quota is a valid quota, and therefore ``qt_exceeds`` :ref:`stat
<damon_design_damos_stat>` will keep increasing in this case.
The goal can be specified with five parameters, namely ``target_metric``,
``target_value``, ``current_value``, ``nid`` and ``path``. The auto-tuning
mechanism tries to make ``current_value`` of ``target_metric`` be same to
``target_value``.
The goal can be specified with six parameters, namely ``target_metric``,
``complement``, ``target_value``, ``current_value``, ``nid`` and ``path``. The
auto-tuning mechanism tries to make ``current_value`` of ``complement``-ed
``target_metric`` be same to ``target_value``.
- ``user_input``: User-provided value. Users could use any metric that they
has interest in for the value. Use space main workload's latency or
@ -733,6 +733,13 @@ mechanism tries to make ``current_value`` of ``target_metric`` be same to
- ``hugepage_mem_bp``: Total huge page to total used memory ratio in bp
(1/10,000).
``complement`` is a boolean parameter that determines whether to use
complemented value of the target metric. For example, if ``complement`` is set
and target metric is ``active_mem_bp``, it is effectively same to
``inactive_mem_bp``. ``complement`` is no-op when the target metric type is
``user_input``. For the metric type, the user should be able to emit
complemented metric values on their own.
``nid`` is optionally required for ``node_mem_used_bp``, ``node_mem_free_bp``,
``node_memcg_used_bp``, ``node_memcg_free_bp`` and ``node_eligible_mem_bp`` to
point the specific NUMA node.