Lines Matching +full:three +full:- +full:state
1 .. SPDX-License-Identifier: GPL-2.0
9 - *DAMON user space tool.*
11 system administrators who want a just-working human-friendly interface.
12 Using this, users can use the DAMON’s major features in a human-friendly way.
16 - *sysfs interface.*
23 - *debugfs interface. (DEPRECATED!)*
28 linux-mm@kvack.org.
29 - *Kernel Space Programming Interface.*
54 # echo on > kdamonds/0/state
57 ---------------
60 figure, parents-children relations are represented with indentations, each
66 │ │ 0/state,pid
98 ----
106 ---------
108 The monitoring-related information including request specifications and results
115 of child directories named ``0`` to ``N-1``. Each directory represents each
119 -------------
121 In each kdamond directory, two files (``state`` and ``pid``) and one directory
124 Reading ``state`` returns ``on`` if the kdamond is currently running, or
126 in the state. Writing ``commit`` to the ``state`` file makes kdamond reads the
127 user inputs in the sysfs files except ``state`` file again. Writing
128 ``update_schemes_stats`` to ``state`` file updates the contents of stats files
129 for each DAMON-based operation scheme of the kdamond. For details of the
132 Writing ``update_schemes_tried_regions`` to ``state`` file updates the
133 DAMON-based operation scheme action tried regions directory for each
134 DAMON-based operation scheme of the kdamond. Writing
135 ``update_schemes_tried_bytes`` to ``state`` file updates only
137 ``clear_schemes_tried_regions`` to ``state`` file clears the DAMON-based
138 operating scheme action tried regions directory for each DAMON-based operation
139 scheme of the kdamond. For details of the DAMON-based operation scheme action
143 If the state is ``on``, reading ``pid`` shows the pid of the kdamond thread.
149 ----------------------
153 ``0`` to ``N-1``. Each directory represents each monitoring context. At the
160 -------------
163 and three directories (``monitoring_attrs``, ``targets``, and ``schemes``)
172 - vaddr: Monitor virtual address spaces of specific processes
173 - fvaddr: Monitor fixed virtual address ranges
174 - paddr: Monitor the physical address space of the system
187 ------------------------------
194 Under ``intervals`` directory, three files for DAMON's sampling interval
196 (``update_us``) exist. You can set and get the values in micro-seconds by
199 Under ``nr_regions`` directory, two files for the lower-bound and upper-bound
208 ---------------------
212 to ``N-1``. Each directory represents each monitoring target.
215 ------------
227 -------------------
246 to ``N-1``. Each directory represents each initial monitoring target region.
249 ------------
259 ---------------------
261 The directory for DAMON-based Operation Schemes (:ref:`DAMOS
267 to ``N-1``. Each directory represents each DAMON-based operation scheme.
270 ------------
283 - ``willneed``: Call ``madvise()`` for the region with ``MADV_WILLNEED``.
285 - ``cold``: Call ``madvise()`` for the region with ``MADV_COLD``.
287 - ``pageout``: Call ``madvise()`` for the region with ``MADV_PAGEOUT``.
289 - ``hugepage``: Call ``madvise()`` for the region with ``MADV_HUGEPAGE``.
291 - ``nohugepage``: Call ``madvise()`` for the region with ``MADV_NOHUGEPAGE``.
293 - ``lru_prio``: Prioritize the region on its LRU lists.
295 - ``lru_deprio``: Deprioritize the region on its LRU lists.
297 - ``stat``: Do nothing but count the statistics.
301 ---------------------------
304 <damon_design_damos_access_pattern>` of the given DAMON-based operation scheme.
306 Under the ``access_pattern`` directory, three directories (``sz``,
314 -------------------
317 DAMON-based operation scheme.
319 Under ``quotas`` directory, three files (``ms``, ``bytes``,
320 ``reset_interval_ms``) and one directory (``weights``) having three files
324 ``reset interval`` in milliseconds by writing the values to the three files,
333 in per-thousand unit by writing the values to the three files under the
337 -----------------------
340 given DAMON-based operation scheme.
344 between check of the metric, and the three watermarks exist. You can set and
350 - none: Ignore the watermarks
351 - free_mem_rate: System's free memory rate (per thousand)
356 --------------------
359 DAMON-based operation scheme.
363 to ``N-1``. Each directory represents each filter. The filters are evaluated
370 open-ended interval), or ``target`` for specific DAMON monitoring target
382 For example, below restricts a DAMOS action to be applied to only non-anonymous
406 ------------------
418 ``kdamonds/<N>/state`` file.
423 --------------------------
428 relevant ``kdamonds/<N>/state`` file, DAMON updates the ``total_bytes`` file so
437 Writing ``update_schemes_tried_bytes`` to the relevant ``kdamonds/<N>/state``
443 ``kdamonds/<N>/state`` file.
446 and query-like efficient data access monitoring results retrievals. For the
451 ------------------
456 DAMON-based operation scheme ``action`` has tried to be applied.
510 linux-mm@kvack.org.
518 ----------
534 ----------
564 ---------------------------------
570 file-mapped area. Or, some users can know the initial access pattern of their
580 should be a sequence of three integers separated by white spaces that represent
587 example, below commands will set a couple of address ranges, ``1-100`` and
588 ``100-200`` as the initial monitoring target region of pid 42, which is the
590 ranges, ``20-40`` and ``50-100`` as that of pid 4242, which is the second one
609 -------
611 Users can get and set the DAMON-based operation :ref:`schemes
624 scheme. The ``<target access pattern>`` is constructed with three ranges in
627 min-size max-size min-acc max-acc min-age max-age
629 Specifically, bytes for the size of regions (``min-size`` and ``max-size``),
631 (``min-acc`` and ``max-acc``), number of aggregate intervals for the age of
632 regions (``min-age`` and ``max-age``) are specified. Note that the ranges are
642 - 0: Call ``madvise()`` for the region with ``MADV_WILLNEED``. Ignored if
644 - 1: Call ``madvise()`` for the region with ``MADV_COLD``. Ignored if
646 - 2: Call ``madvise()`` for the region with ``MADV_PAGEOUT``.
647 - 3: Call ``madvise()`` for the region with ``MADV_HUGEPAGE``. Ignored if
649 - 4: Call ``madvise()`` for the region with ``MADV_NOHUGEPAGE``. Ignored if
651 - 5: Do nothing but count the statistics
668 can set the weights for the three properties in ``<priority weights>`` in below
684 - 0: Ignore the watermarks
685 - 1: System's free memory rate (per thousand)
728 --------------
744 Please note that you cannot write to the above-mentioned debugfs files while
746 an error code such as ``-EBUSY`` will be returned.
750 ---------------------
767 ---------------------------------
808 # perf record -e damon:damon_aggregated &