[PATCH 2/2] Docs/mm/damon/design: document the power-of-two limitation for addr_unit
From: SeongJae Park
Date: Sat Mar 07 2026 - 14:42:49 EST
The min_region_sz is set as max(DAMON_MIN_REGION_SZ / addr_unit, 1).
DAMON_MIN_REGION_SZ is the same to PAGE_SIZE, and addr_unit is what the
user can arbitrarily set. Commit c80f46ac228b ("mm/damon/core: disallow
non-power of two min_region_sz") made min_region_sz to always be a power
of two. Hence, addr_unit should be a power of two when it is smaller
than PAGE_SIZE. While 'addr_unit' is a user-exposed parameter, the rule
is not documented. This can confuse users. Specifically, if the user
sets addr_unit as a value that is smaller than PAGE_SIZE and not a power
of two, the setup will explicitly fail.
Document the rule on the design document. Usage documents reference the
design document for detail, so updating only the design document should
suffice.
Signed-off-by: SeongJae Park <sj@xxxxxxxxxx>
---
Documentation/mm/damon/design.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst
index 28d932ceaf7ed..29fff20b3c2a9 100644
--- a/Documentation/mm/damon/design.rst
+++ b/Documentation/mm/damon/design.rst
@@ -150,6 +150,8 @@ address on the given address space. Support of ``address unit`` parameter is
up to each operations set implementation. ``paddr`` is the only operations set
implementation that supports the parameter.
+If the value is smaller than ``PAGE_SIZE``, only a power of two should be used.
+
.. _damon_core_logic:
Core Logics
--
2.47.3