| From: SeongJae Park <sj@kernel.org> |
| Subject: Docs/mm/damon/design: add 'statistics' section |
| Date: Mon, 6 Jan 2025 11:33:47 -0800 |
| |
| DAMOS stats are important feature for tuning of DAMOS-based access-aware |
| system operation, and efficient access pattern monitoring. But not well |
| documented on the design document. Add a section on the document. |
| |
| Link: https://lkml.kernel.org/r/20250106193401.109161-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 | 38 ++++++++++++++++++++++++++++ |
| 1 file changed, 38 insertions(+) |
| |
| --- a/Documentation/mm/damon/design.rst~docs-mm-damon-design-add-statistics-section |
| +++ a/Documentation/mm/damon/design.rst |
| @@ -539,6 +539,44 @@ To know how user-space can set the water |
| <sysfs_interface>`, refer to :ref:`filters <sysfs_filters>` part of the |
| documentation. |
| |
| +Statistics |
| +~~~~~~~~~~ |
| + |
| +The statistics of DAMOS behaviors that designed to help monitoring, tuning and |
| +debugging of DAMOS. |
| + |
| +DAMOS accounts below statistics for each scheme, from the beginning of the |
| +scheme's execution. |
| + |
| +- ``nr_tried``: Total number of regions that the scheme is tried to be applied. |
| +- ``sz_trtied``: Total size of regions that the scheme is tried to be applied. |
| +- ``nr_applied``: Total number of regions that the scheme is applied. |
| +- ``sz_applied``: Total size of regions that the scheme is applied. |
| +- ``qt_exceeds``: Total number of times the quota of the scheme has exceeded. |
| + |
| +"A scheme is tried to be applied to a region" means DAMOS core logic determined |
| +the region is eligible to apply the scheme's :ref:`action |
| +<damon_design_damos_action>`. The :ref:`access pattern |
| +<damon_design_damos_access_pattern>`, :ref:`quotas |
| +<damon_design_damos_quotas>`, :ref:`watermarks |
| +<damon_design_damos_watermarks>`, and :ref:`filters |
| +<damon_design_damos_filters>` that handled on core logic could affect this. |
| +The core logic will only ask the underlying :ref:`operation set |
| +<damon_operations_set>` to do apply the action to the region, so whether the |
| +action is really applied or not is unclear. That's why it is called "tried". |
| + |
| +"A scheme is applied to a region" means the :ref:`operation set |
| +<damon_operations_set>` has applied the action to at least a part of the |
| +region. The :ref:`filters <damon_design_damos_filters>` that handled by the |
| +operation set, and the types of the :ref:`action <damon_design_damos_action>` |
| +and the pages of the region can affect this. For example, if a filter is set |
| +to exclude anonymous pages and the region has only anonymous pages, or if the |
| +action is ``pageout`` while all pages of the region are unreclaimable, applying |
| +the action to the region will fail. |
| + |
| +To know how user-space can read the stats via :ref:`DAMON sysfs interface |
| +<sysfs_interface>`, refer to :ref:s`stats <sysfs_stats>` part of the |
| +documentation. |
| |
| Regions Walking |
| ~~~~~~~~~~~~~~~ |
| _ |