| From: SeongJae Park <sj@kernel.org> |
| Subject: Docs/mm/damon/design: clarify regions merging operation |
| Date: Mon, 1 Jul 2024 12:26:59 -0700 |
| |
| DAMON design document is not explaining how min_nr_regions limit is kept, |
| and what happens if the number of regions exceeds max_nr_regions. Add |
| more clarification for those. |
| |
| Link: https://lkml.kernel.org/r/20240701192706.51415-3-sj@kernel.org |
| Signed-off-by: SeongJae Park <sj@kernel.org> |
| Cc: Jonathan Corbet <corbet@lwn.net> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| Documentation/mm/damon/design.rst | 17 ++++++++++++----- |
| 1 file changed, 12 insertions(+), 5 deletions(-) |
| |
| --- a/Documentation/mm/damon/design.rst~docs-mm-damon-design-clarify-regions-merging-operation |
| +++ a/Documentation/mm/damon/design.rst |
| @@ -209,11 +209,18 @@ the data access pattern can be dynamical |
| monitoring quality. To keep the assumption as much as possible, DAMON |
| adaptively merges and splits each region based on their access frequency. |
| |
| -For each ``aggregation interval``, it compares the access frequencies of |
| -adjacent regions and merges those if the frequency difference is small. Then, |
| -after it reports and clears the aggregated access frequency of each region, it |
| -splits each region into two or three regions if the total number of regions |
| -will not exceed the user-specified maximum number of regions after the split. |
| +For each ``aggregation interval``, it compares the access frequencies |
| +(``nr_accesses``) of adjacent regions. If the difference is small, and if the |
| +sum of the two regions' sizes is smaller than the size of total regions divided |
| +by the ``minimum number of regions``, DAMON merges the two regions. If the |
| +resulting number of total regions is still higher than ``maximum number of |
| +regions``, it repeats the merging with increasing access frequenceis difference |
| +threshold until the upper-limit of the number of regions is met, or the |
| +threshold becomes higher than possible maximum value (``aggregation interval`` |
| +divided by ``sampling interval``). Then, after it reports and clears the |
| +aggregated access frequency of each region, it splits each region into two or |
| +three regions if the total number of regions will not exceed the user-specified |
| +maximum number of regions after the split. |
| |
| In this way, DAMON provides its best-effort quality and minimal overhead while |
| keeping the bounds users set for their trade-off. |
| _ |