| From: SeongJae Park <sj@kernel.org> |
| Subject: Docs/mm/damon/design: document 'address unit' parameter |
| Date: Thu, 28 Aug 2025 10:12:39 -0700 |
| |
| Add 'addr_unit' parameter description on DAMON design document. |
| |
| Link: https://lkml.kernel.org/r/20250828171242.59810-9-sj@kernel.org |
| Signed-off-by: SeongJae Park <sj@kernel.org> |
| Signed-off-by: Quanmin Yan <yanquanmin1@huawei.com> |
| Reviewed-by: SeongJae Park <sj@kernel.org> |
| Cc: David Hildenbrand <david@redhat.com> |
| Cc: Jonathan Corbet <corbet@lwn.net> |
| Cc: Kefeng Wang <wangkefeng.wang@huawei.com> |
| Cc: Liam Howlett <liam.howlett@oracle.com> |
| Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> |
| Cc: Michal Hocko <mhocko@suse.com> |
| Cc: Mike Rapoport <rppt@kernel.org> |
| Cc: Suren Baghdasaryan <surenb@google.com> |
| Cc: Vlastimil Babka <vbabka@suse.cz> |
| Cc: ze zuo <zuoze1@huawei.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| Documentation/mm/damon/design.rst | 14 +++++++++++++- |
| 1 file changed, 13 insertions(+), 1 deletion(-) |
| |
| --- a/Documentation/mm/damon/design.rst~docs-mm-damon-design-document-address-unit-parameter |
| +++ a/Documentation/mm/damon/design.rst |
| @@ -67,7 +67,7 @@ processes, NUMA nodes, files, and backin |
| Also, if some architectures or devices support special optimized access check |
| features, those will be easily configurable. |
| |
| -DAMON currently provides below three operation sets. Below two subsections |
| +DAMON currently provides below three operation sets. Below three subsections |
| describe how those work. |
| |
| - vaddr: Monitor virtual address spaces of specific processes |
| @@ -135,6 +135,18 @@ the interference is the responsibility o |
| conflict with the reclaim logic using ``PG_idle`` and ``PG_young`` page flags, |
| as Idle page tracking does. |
| |
| +Address Unit |
| +------------ |
| + |
| +DAMON core layer uses ``unsinged long`` type for monitoring target address |
| +ranges. In some cases, the address space for a given operations set could be |
| +too large to be handled with the type. ARM (32-bit) with large physical |
| +address extension is an example. For such cases, a per-operations set |
| +parameter called ``address unit`` is provided. It represents the scale factor |
| +that need to be multiplied to the core layer's address for calculating real |
| +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. |
| |
| .. _damon_core_logic: |
| |
| _ |