| From: SeongJae Park <sj@kernel.org> |
| Subject: Docs/admin-guide/mm/damon/usage: document effective_bytes file |
| Date: Mon, 19 Feb 2024 11:44:16 -0800 |
| |
| Update DAMON usage document for the effective quota file of the DAMON |
| sysfs interface. |
| |
| Link: https://lkml.kernel.org/r/20240219194431.159606-6-sj@kernel.org |
| Signed-off-by: SeongJae Park <sj@kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| Documentation/admin-guide/mm/damon/usage.rst | 19 ++++++++++++++--- |
| 1 file changed, 16 insertions(+), 3 deletions(-) |
| |
| --- a/Documentation/admin-guide/mm/damon/usage.rst~docs-admin-guide-mm-damon-usage-document-effective_bytes-file |
| +++ a/Documentation/admin-guide/mm/damon/usage.rst |
| @@ -83,7 +83,7 @@ comma (","). |
| │ │ │ │ │ │ │ │ sz/min,max |
| │ │ │ │ │ │ │ │ nr_accesses/min,max |
| │ │ │ │ │ │ │ │ age/min,max |
| - │ │ │ │ │ │ │ :ref:`quotas <sysfs_quotas>`/ms,bytes,reset_interval_ms |
| + │ │ │ │ │ │ │ :ref:`quotas <sysfs_quotas>`/ms,bytes,reset_interval_ms,effective_bytes |
| │ │ │ │ │ │ │ │ weights/sz_permil,nr_accesses_permil,age_permil |
| │ │ │ │ │ │ │ │ :ref:`goals <sysfs_schemes_quota_goals>`/nr_goals |
| │ │ │ │ │ │ │ │ │ 0/target_value,current_value |
| @@ -153,6 +153,9 @@ Users can write below commands for the k |
| - ``clear_schemes_tried_regions``: Clear the DAMON-based operating scheme |
| action tried regions directory for each DAMON-based operation scheme of the |
| kdamond. |
| +- ``update_schemes_effective_bytes``: Update the contents of |
| + ``effective_bytes`` files for each DAMON-based operation scheme of the |
| + kdamond. For more details, refer to :ref:`quotas directory <sysfs_quotas>`. |
| |
| If the state is ``on``, reading ``pid`` shows the pid of the kdamond thread. |
| |
| @@ -320,8 +323,9 @@ schemes/<N>/quotas/ |
| The directory for the :ref:`quotas <damon_design_damos_quotas>` of the given |
| DAMON-based operation scheme. |
| |
| -Under ``quotas`` directory, three files (``ms``, ``bytes``, |
| -``reset_interval_ms``) and two directores (``weights`` and ``goals``) exist. |
| +Under ``quotas`` directory, four files (``ms``, ``bytes``, |
| +``reset_interval_ms``, ``effective_bytes``) and two directores (``weights`` and |
| +``goals``) exist. |
| |
| You can set the ``time quota`` in milliseconds, ``size quota`` in bytes, and |
| ``reset interval`` in milliseconds by writing the values to the three files, |
| @@ -332,6 +336,15 @@ apply the action to only up to ``bytes`` |
| quota limits unless at least one :ref:`goal <sysfs_schemes_quota_goals>` is |
| set. |
| |
| +The time quota is internally transformed to a size quota. Between the |
| +transformed size quota and user-specified size quota, smaller one is applied. |
| +Based on the user-specified :ref:`goal <sysfs_schemes_quota_goals>`, the |
| +effective size quota is further adjusted. Reading ``effective_bytes`` returns |
| +the current effective size quota. The file is not updated in real time, so |
| +users should ask DAMON sysfs interface to update the content of the file for |
| +the stats by writing a special keyword, ``update_schemes_effective_bytes`` to |
| +the relevant ``kdamonds/<N>/state`` file. |
| + |
| Under ``weights`` directory, three files (``sz_permil``, |
| ``nr_accesses_permil``, and ``age_permil``) exist. |
| You can set the :ref:`prioritization weights |
| _ |