* [PATCH 0/6] mm/damon: Misc cleanups
@ 2021-12-09 13:18 SeongJae Park
2021-12-09 13:18 ` [PATCH 1/6] mm/damon: Convert macro functions to static inline functions SeongJae Park
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: SeongJae Park @ 2021-12-09 13:18 UTC (permalink / raw)
To: akpm; +Cc: corbet, linux-mm, linux-doc, linux-kernel, SeongJae Park
This patchset contains miscellaneous cleanups for DAMON's macro
functions and documentations.
SeongJae Park (6):
mm/damon: Convert macro functions to static inline functions
Docs/admin-guide/mm/damon/usage: Update for scheme quotas and
watermarks
Docs/admin-guide/mm/damon/usage: Remove redundant information
Docs/admin-guide/mm/damon/usage: Mention tracepoint at the beginning
Docs/admin-guide/mm/damon/usage: Update for kdamond_pid and
(mk|rm)_contexts
mm/damon: Remove a mistakenly added comment for a future feature
Documentation/admin-guide/mm/damon/usage.rst | 224 +++++++++++++++----
include/linux/damon.h | 20 +-
mm/damon/core.c | 5 +-
mm/damon/vaddr.c | 6 +-
4 files changed, 196 insertions(+), 59 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/6] mm/damon: Convert macro functions to static inline functions
2021-12-09 13:18 [PATCH 0/6] mm/damon: Misc cleanups SeongJae Park
@ 2021-12-09 13:18 ` SeongJae Park
2021-12-09 13:18 ` [PATCH 2/6] Docs/admin-guide/mm/damon/usage: Update for scheme quotas and watermarks SeongJae Park
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: SeongJae Park @ 2021-12-09 13:18 UTC (permalink / raw)
To: akpm; +Cc: corbet, linux-mm, linux-doc, linux-kernel, SeongJae Park
This commit converts macro functions in DAMON to static inline
functions, for better type checking, code documentation, etc[1].
[1] https://lore.kernel.org/linux-mm/20211202151213.6ec830863342220da4141bc5@linux-foundation.org/
Signed-off-by: SeongJae Park <sj@kernel.org>
---
include/linux/damon.h | 18 ++++++++++++------
mm/damon/core.c | 5 ++++-
mm/damon/vaddr.c | 6 ++++--
3 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/include/linux/damon.h b/include/linux/damon.h
index e2c8152985b7..2dbc1f545da2 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -399,14 +399,20 @@ struct damon_ctx {
struct list_head schemes;
};
-#define damon_next_region(r) \
- (container_of(r->list.next, struct damon_region, list))
+static inline struct damon_region *damon_next_region(struct damon_region *r)
+{
+ return container_of(r->list.next, struct damon_region, list);
+}
-#define damon_prev_region(r) \
- (container_of(r->list.prev, struct damon_region, list))
+static inline struct damon_region *damon_prev_region(struct damon_region *r)
+{
+ return container_of(r->list.prev, struct damon_region, list);
+}
-#define damon_last_region(t) \
- (list_last_entry(&t->regions_list, struct damon_region, list))
+static inline struct damon_region *damon_last_region(struct damon_target *t)
+{
+ return list_last_entry(&t->regions_list, struct damon_region, list);
+}
#define damon_for_each_region(r, t) \
list_for_each_entry(r, &t->regions_list, list)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index e981fb40052f..70771cf7da89 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -767,7 +767,10 @@ static void kdamond_apply_schemes(struct damon_ctx *c)
}
}
-#define sz_damon_region(r) (r->ar.end - r->ar.start)
+static inline unsigned long sz_damon_region(struct damon_region *r)
+{
+ return r->ar.end - r->ar.start;
+}
/*
* Merge two adjacent regions into one region
diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c
index 78ff2bcb66eb..68d9e4134816 100644
--- a/mm/damon/vaddr.c
+++ b/mm/damon/vaddr.c
@@ -26,8 +26,10 @@
* 't->id' should be the pointer to the relevant 'struct pid' having reference
* count. Caller must put the returned task, unless it is NULL.
*/
-#define damon_get_task_struct(t) \
- (get_pid_task((struct pid *)t->id, PIDTYPE_PID))
+static inline struct task_struct *damon_get_task_struct(struct damon_target *t)
+{
+ return get_pid_task((struct pid *)t->id, PIDTYPE_PID);
+}
/*
* Get the mm_struct of the given target
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/6] Docs/admin-guide/mm/damon/usage: Update for scheme quotas and watermarks
2021-12-09 13:18 [PATCH 0/6] mm/damon: Misc cleanups SeongJae Park
2021-12-09 13:18 ` [PATCH 1/6] mm/damon: Convert macro functions to static inline functions SeongJae Park
@ 2021-12-09 13:18 ` SeongJae Park
2021-12-09 13:18 ` [PATCH 3/6] Docs/admin-guide/mm/damon/usage: Remove redundant information SeongJae Park
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: SeongJae Park @ 2021-12-09 13:18 UTC (permalink / raw)
To: akpm; +Cc: corbet, linux-mm, linux-doc, linux-kernel, SeongJae Park
DAMOS features including time/space quota limits and watermarks are not
described in the DAMON debugfs interface document. This commit updates
the document for the features.
Signed-off-by: SeongJae Park <sj@kernel.org>
---
Documentation/admin-guide/mm/damon/usage.rst | 123 +++++++++++++++----
1 file changed, 98 insertions(+), 25 deletions(-)
diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin-guide/mm/damon/usage.rst
index ed96bbf0daff..1ab9b714fca2 100644
--- a/Documentation/admin-guide/mm/damon/usage.rst
+++ b/Documentation/admin-guide/mm/damon/usage.rst
@@ -131,24 +131,38 @@ Schemes
For usual DAMON-based data access aware memory management optimizations, users
would simply want the system to apply a memory management action to a memory
-region of a specific size having a specific access frequency for a specific
-time. DAMON receives such formalized operation schemes from the user and
-applies those to the target processes. It also counts the total number and
-size of regions that each scheme is applied. This statistics can be used for
-online analysis or tuning of the schemes.
+region of a specific access pattern. DAMON receives such formalized operation
+schemes from the user and applies those to the target processes.
Users can get and set the schemes by reading from and writing to ``schemes``
debugfs file. Reading the file also shows the statistics of each scheme. To
-the file, each of the schemes should be represented in each line in below form:
+the file, each of the schemes should be represented in each line in below
+form::
- min-size max-size min-acc max-acc min-age max-age action
+ <target access pattern> <action> <quota> <watermarks>
-Note that the ranges are closed interval. Bytes for the size of regions
-(``min-size`` and ``max-size``), number of monitored accesses per aggregate
-interval for access frequency (``min-acc`` and ``max-acc``), number of
-aggregate intervals for the age of regions (``min-age`` and ``max-age``), and a
-predefined integer for memory management actions should be used. The supported
-numbers and their meanings are as below.
+You can disable schemes by simply writing an empty string to the file.
+
+Target Access Pattern
+~~~~~~~~~~~~~~~~~~~~~
+
+The ``<target access pattern>`` is constructed with three ranges in below
+form::
+
+ min-size max-size min-acc max-acc min-age max-age
+
+Specifically, bytes for the size of regions (``min-size`` and ``max-size``),
+number of monitored accesses per aggregate interval for access frequency
+(``min-acc`` and ``max-acc``), number of aggregate intervals for the age of
+regions (``min-age`` and ``max-age``) are specified. Note that the ranges are
+closed interval.
+
+Action
+~~~~~~
+
+The ``<action>`` is a predefined integer for memory management actions, which
+DAMON will apply to the regions having the target access pattern. The
+supported numbers and their meanings are as below.
- 0: Call ``madvise()`` for the region with ``MADV_WILLNEED``
- 1: Call ``madvise()`` for the region with ``MADV_COLD``
@@ -157,20 +171,79 @@ numbers and their meanings are as below.
- 4: Call ``madvise()`` for the region with ``MADV_NOHUGEPAGE``
- 5: Do nothing but count the statistics
-You can disable schemes by simply writing an empty string to the file. For
-example, below commands applies a scheme saying "If a memory region of size in
-[4KiB, 8KiB] is showing accesses per aggregate interval in [0, 5] for aggregate
-interval in [10, 20], page out the region", check the entered scheme again, and
-finally remove the scheme. ::
+Quota
+~~~~~
- # cd <debugfs>/damon
- # echo "4096 8192 0 5 10 20 2" > schemes
- # cat schemes
- 4096 8192 0 5 10 20 2 0 0
- # echo > schemes
+Optimal ``target access pattern`` for each ``action`` is workload dependent, so
+not easy to find. Worse yet, setting a scheme of some action too aggressive
+can cause severe overhead. To avoid such overhead, users can limit time and
+size quota for the scheme via the ``<quota>`` in below form::
+
+ <ms> <sz> <reset interval> <priority weights>
+
+This makes DAMON to try to use only up to ``<ms>`` milliseconds for applying
+the action to memory regions of the ``target access pattern`` within the
+``<reset interval>`` milliseconds, and to apply the action to only up to
+``<sz>`` bytes of memory regions within the ``<reset interval>``. Setting both
+``<ms>`` and ``<sz>`` zero disables the quota limits.
+
+When the quota limit is expected to be exceeded, DAMON prioritizes found memory
+regions of the ``target access pattern`` based on their size, access frequency,
+and age. For personalized prioritization, users can set the weights for the
+three properties in ``<priority weights>`` in below form::
+
+ <size weight> <access frequency weight> <age weight>
+
+Watermarks
+~~~~~~~~~~
-The last two integers in the 4th line of above example is the total number and
-the total size of the regions that the scheme is applied.
+Some schemes would need to run based on current value of the system's specific
+metrics like free memory ratio. For such cases, users can specify watermarks
+for the condition.::
+
+ <metric> <check interval> <high mark> <middle mark> <low mark>
+
+``<metric>`` is a predefined integer for the metric to be checked. The
+supported numbers and their meanings are as below.
+
+ - 0: Ignore the watermarks
+ - 1: System's free memory rate (per thousand)
+
+The value of the metric is checked every ``<check interval>`` microseconds.
+
+If the value is higher than ``<high mark>`` or lower than ``<low mark>``, the
+scheme is deactivated. If the value is lower than ``<mid mark>``, the scheme
+is activated.
+
+Statistics
+~~~~~~~~~~
+
+It also counts the total number and bytes of regions that each scheme is
+applied. This statistics can be used for online analysis or tuning of the
+schemes.
+
+The statistics can be shown by reading the ``schemes`` file. Reading the file
+will show each scheme you entered in each line, and the two numbers for the
+statistics will be added at the end of each line.
+
+Example
+~~~~~~~
+
+Below commands applies a scheme saying "If a memory region of size in [4KiB,
+8KiB] is showing accesses per aggregate interval in [0, 5] for aggregate
+interval in [10, 20], page out the region. For the paging out, use only up to
+10ms per second, and also don't page out more than 1GiB per second. Under the
+limitation, page out memory regions having longer age first. Also, check the
+free memory rate of the system every 5 seconds, start the monitoring and paging
+out when the free memory rate becomes lower than 50%, but stop it if the free
+memory rate becomes larger than 60%, or lower than 30%".::
+
+ # cd <debugfs>/damon
+ # scheme="4096 8192 0 5 10 20 2" # target access pattern and action
+ # scheme+=" 10 $((1024*1024*1024)) 1000" # quotas
+ # scheme+=" 0 0 100" # prioritization weights
+ # scheme+=" 1 5000000 600 500 300" # watermarks
+ # echo "$scheme" > schemes
Turning On/Off
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/6] Docs/admin-guide/mm/damon/usage: Remove redundant information
2021-12-09 13:18 [PATCH 0/6] mm/damon: Misc cleanups SeongJae Park
2021-12-09 13:18 ` [PATCH 1/6] mm/damon: Convert macro functions to static inline functions SeongJae Park
2021-12-09 13:18 ` [PATCH 2/6] Docs/admin-guide/mm/damon/usage: Update for scheme quotas and watermarks SeongJae Park
@ 2021-12-09 13:18 ` SeongJae Park
2021-12-09 13:18 ` [PATCH 4/6] Docs/admin-guide/mm/damon/usage: Mention tracepoint at the beginning SeongJae Park
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: SeongJae Park @ 2021-12-09 13:18 UTC (permalink / raw)
To: akpm; +Cc: corbet, linux-mm, linux-doc, linux-kernel, SeongJae Park
DAMON usage document mentions DAMON user space tool and programming
interface twice. This commit integrates those and remove unnecessary
part.
Signed-off-by: SeongJae Park <sj@kernel.org>
---
Documentation/admin-guide/mm/damon/usage.rst | 44 ++++++++++----------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin-guide/mm/damon/usage.rst
index 1ab9b714fca2..24137312f601 100644
--- a/Documentation/admin-guide/mm/damon/usage.rst
+++ b/Documentation/admin-guide/mm/damon/usage.rst
@@ -7,30 +7,30 @@ Detailed Usages
DAMON provides below three interfaces for different users.
- *DAMON user space tool.*
- This is for privileged people such as system administrators who want a
- just-working human-friendly interface. Using this, users can use the DAMON’s
- major features in a human-friendly way. It may not be highly tuned for
- special cases, though. It supports both virtual and physical address spaces
- monitoring.
+ `This <https://github.com/awslabs/damo>`_ is for privileged people such as
+ system administrators who want a just-working human-friendly interface.
+ Using this, users can use the DAMON’s major features in a human-friendly way.
+ It may not be highly tuned for special cases, though. It supports both
+ virtual and physical address spaces monitoring. For more detail, please
+ refer to its `usage document
+ <https://github.com/awslabs/damo/blob/next/USAGE.md>`_.
- *debugfs interface.*
- This is for privileged user space programmers who want more optimized use of
- DAMON. Using this, users can use DAMON’s major features by reading
- from and writing to special debugfs files. Therefore, you can write and use
- your personalized DAMON debugfs wrapper programs that reads/writes the
- debugfs files instead of you. The DAMON user space tool is also a reference
- implementation of such programs. It supports both virtual and physical
- address spaces monitoring.
+ :ref:`This <debugfs_interface>` is for privileged user space programmers who
+ want more optimized use of DAMON. Using this, users can use DAMON’s major
+ features by reading from and writing to special debugfs files. Therefore,
+ you can write and use your personalized DAMON debugfs wrapper programs that
+ reads/writes the debugfs files instead of you. The `DAMON user space tool
+ <https://github.com/awslabs/damo>`_ is one example of such programs. It
+ supports both virtual and physical address spaces monitoring.
- *Kernel Space Programming Interface.*
- This is for kernel space programmers. Using this, users can utilize every
- feature of DAMON most flexibly and efficiently by writing kernel space
- DAMON application programs for you. You can even extend DAMON for various
- address spaces.
-
-Nevertheless, you could write your own user space tool using the debugfs
-interface. A reference implementation is available at
-https://github.com/awslabs/damo. If you are a kernel programmer, you could
-refer to :doc:`/vm/damon/api` for the kernel space programming interface. For
-the reason, this document describes only the debugfs interface
+ :doc:`This </vm/damon/api>` is for kernel space programmers. Using this,
+ users can utilize every feature of DAMON most flexibly and efficiently by
+ writing kernel space DAMON application programs for you. You can even extend
+ DAMON for various address spaces. For detail, please refer to the interface
+ :doc:`document </vm/damon/api>`.
+
+
+.. _debugfs_interface:
debugfs Interface
=================
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/6] Docs/admin-guide/mm/damon/usage: Mention tracepoint at the beginning
2021-12-09 13:18 [PATCH 0/6] mm/damon: Misc cleanups SeongJae Park
` (2 preceding siblings ...)
2021-12-09 13:18 ` [PATCH 3/6] Docs/admin-guide/mm/damon/usage: Remove redundant information SeongJae Park
@ 2021-12-09 13:18 ` SeongJae Park
2021-12-09 13:18 ` [PATCH 5/6] Docs/admin-guide/mm/damon/usage: Update for kdamond_pid and (mk|rm)_contexts SeongJae Park
2021-12-09 13:18 ` [PATCH 6/6] mm/damon: Remove a mistakenly added comment for a future feature SeongJae Park
5 siblings, 0 replies; 8+ messages in thread
From: SeongJae Park @ 2021-12-09 13:18 UTC (permalink / raw)
To: akpm; +Cc: corbet, linux-mm, linux-doc, linux-kernel, SeongJae Park
To get detailed monitoring results from the user space, users need to
use the damon_aggregated tracepoint. This commit adds a brief mention
of it at the beginning of the usage document.
Signed-off-by: SeongJae Park <sj@kernel.org>
---
Documentation/admin-guide/mm/damon/usage.rst | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin-guide/mm/damon/usage.rst
index 24137312f601..846c85bf4b9d 100644
--- a/Documentation/admin-guide/mm/damon/usage.rst
+++ b/Documentation/admin-guide/mm/damon/usage.rst
@@ -21,7 +21,10 @@ DAMON provides below three interfaces for different users.
you can write and use your personalized DAMON debugfs wrapper programs that
reads/writes the debugfs files instead of you. The `DAMON user space tool
<https://github.com/awslabs/damo>`_ is one example of such programs. It
- supports both virtual and physical address spaces monitoring.
+ supports both virtual and physical address spaces monitoring. Note that this
+ interface provides only simple :ref:`statistics <damos_stats>` for the
+ monitoring results. For detailed monitoring results, DAMON provides a
+ :ref:`tracepoint <tracepoint>`.
- *Kernel Space Programming Interface.*
:doc:`This </vm/damon/api>` is for kernel space programmers. Using this,
users can utilize every feature of DAMON most flexibly and efficiently by
@@ -215,6 +218,8 @@ If the value is higher than ``<high mark>`` or lower than ``<low mark>``, the
scheme is deactivated. If the value is lower than ``<mid mark>``, the scheme
is activated.
+.. _damos_stats:
+
Statistics
~~~~~~~~~~
@@ -268,6 +273,8 @@ the monitoring is turned on. If you write to the files while DAMON is running,
an error code such as ``-EBUSY`` will be returned.
+.. _tracepoint:
+
Tracepoint for Monitoring Results
=================================
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5/6] Docs/admin-guide/mm/damon/usage: Update for kdamond_pid and (mk|rm)_contexts
2021-12-09 13:18 [PATCH 0/6] mm/damon: Misc cleanups SeongJae Park
` (3 preceding siblings ...)
2021-12-09 13:18 ` [PATCH 4/6] Docs/admin-guide/mm/damon/usage: Mention tracepoint at the beginning SeongJae Park
@ 2021-12-09 13:18 ` SeongJae Park
2021-12-09 13:18 ` [PATCH 6/6] mm/damon: Remove a mistakenly added comment for a future feature SeongJae Park
5 siblings, 0 replies; 8+ messages in thread
From: SeongJae Park @ 2021-12-09 13:18 UTC (permalink / raw)
To: akpm; +Cc: corbet, linux-mm, linux-doc, linux-kernel, SeongJae Park
The DAMON debugfs usage document is missing descriptions for
'kdamond_pid', 'mk_contexts', and 'rm_contexts' debugfs files. This
commit adds those.
Signed-off-by: SeongJae Park <sj@kernel.org>
---
Documentation/admin-guide/mm/damon/usage.rst | 52 ++++++++++++++++++--
1 file changed, 49 insertions(+), 3 deletions(-)
diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin-guide/mm/damon/usage.rst
index 846c85bf4b9d..cb614c84ba9e 100644
--- a/Documentation/admin-guide/mm/damon/usage.rst
+++ b/Documentation/admin-guide/mm/damon/usage.rst
@@ -38,9 +38,9 @@ DAMON provides below three interfaces for different users.
debugfs Interface
=================
-DAMON exports five files, ``attrs``, ``target_ids``, ``init_regions``,
-``schemes`` and ``monitor_on`` under its debugfs directory,
-``<debugfs>/damon/``.
+DAMON exports eight files, ``attrs``, ``target_ids``, ``init_regions``,
+``schemes``, ``monitor_on``, ``kdamond_pid``, ``mk_contexts`` and
+``rm_contexts`` under its debugfs directory, ``<debugfs>/damon/``.
Attributes
@@ -273,6 +273,52 @@ the monitoring is turned on. If you write to the files while DAMON is running,
an error code such as ``-EBUSY`` will be returned.
+Monitoring Thread PID
+---------------------
+
+DAMON does requested monitoring with a kernel thread called ``kdamond``. You
+can get the pid of the thread by reading the ``kdamond_pid`` file. When the
+monitoring is turned off, reading the file returns ``none``. ::
+
+ # cd <debugfs>/damon
+ # cat monitor_on
+ off
+ # cat kdamond_pid
+ none
+ # echo on > monitor_on
+ # cat kdamond_pid
+ 18594
+
+
+Using Multiple Monitoring Threads
+---------------------------------
+
+One ``kdamond`` thread is created for each monitoring context. You can create
+and remove monitoring contexts for multiple ``kdamond`` required use case using
+the ``mk_contexts`` and ``rm_contexts`` files.
+
+Writing the name of the new context to the ``mk_contexts`` file creates a
+directory of the name on the DAMON debugfs directory. The directory will have
+DAMON debugfs files for the context. ::
+
+ # cd <debugfs>/damon
+ # ls foo
+ # ls: cannot access 'foo': No such file or directory
+ # echo foo > mk_contexts
+ # ls foo
+ # attrs init_regions kdamond_pid schemes target_ids
+
+If the context is not needed anymore, you can remove it and the corresponding
+directory by putting the name of the context to the ``rm_contexts`` file. ::
+
+ # echo foo > rm_contexts
+ # ls foo
+ # ls: cannot access 'foo': No such file or directory
+
+Note that ``mk_contexts``, ``rm_contexts``, and ``monitor_on`` files are in the
+root directory only.
+
+
.. _tracepoint:
Tracepoint for Monitoring Results
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 6/6] mm/damon: Remove a mistakenly added comment for a future feature
2021-12-09 13:18 [PATCH 0/6] mm/damon: Misc cleanups SeongJae Park
` (4 preceding siblings ...)
2021-12-09 13:18 ` [PATCH 5/6] Docs/admin-guide/mm/damon/usage: Update for kdamond_pid and (mk|rm)_contexts SeongJae Park
@ 2021-12-09 13:18 ` SeongJae Park
5 siblings, 0 replies; 8+ messages in thread
From: SeongJae Park @ 2021-12-09 13:18 UTC (permalink / raw)
To: akpm; +Cc: corbet, linux-mm, linux-doc, linux-kernel, SeongJae Park
Due to a mistake in patches reordering, a comment for a future feature
called 'arbitrary monitoring target support'[1], which is still under
development, has added. Because it only introduces confusion and we
don't have a plan to post the patches soon, this commit removes the
mistakenly added part.
[1] https://lore.kernel.org/linux-mm/20201215115448.25633-3-sjpark@amazon.com/
Fixes: 1f366e421c8f ("mm/damon/core: implement DAMON-based Operation Schemes (DAMOS)")
Signed-off-by: SeongJae Park <sj@kernel.org>
---
include/linux/damon.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/damon.h b/include/linux/damon.h
index 2dbc1f545da2..97f4a224e950 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -281,7 +281,7 @@ struct damon_ctx;
* as an integer in [0, &DAMOS_MAX_SCORE].
* @apply_scheme is called from @kdamond when a region for user provided
* DAMON-based operation scheme is found. It should apply the scheme's action
- * to the region. This is not used for &DAMON_ARBITRARY_TARGET case.
+ * to the region.
* @target_valid should check whether the target is still valid for the
* monitoring.
* @cleanup is called from @kdamond just before its termination.
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 0/6] mm/damon: misc cleanups
@ 2025-07-05 17:49 SeongJae Park
0 siblings, 0 replies; 8+ messages in thread
From: SeongJae Park @ 2025-07-05 17:49 UTC (permalink / raw)
To: Andrew Morton
Cc: SeongJae Park, Jonathan Corbet, damon, kernel-team, linux-doc,
linux-kernel, linux-mm
Yet another round of miscellaneous DAMON cleanups.
SeongJae Park (6):
samples/damon/wsse: rename to have damon_sample_ prefix
samples/damon/prcl: rename to have damon_sample_ prefix
samples/damon/mtier: rename to have damon_sample_ prefix
mm/damon/sysfs: use DAMON core API damon_is_running()
mm/damon/sysfs: don't hold kdamond_lock in before_terminate()
Docs/mm/damon/maintainer-profile: update for mm-new tree
Documentation/mm/damon/maintainer-profile.rst | 35 ++++++++++---------
include/linux/damon.h | 1 +
mm/damon/core.c | 8 ++++-
mm/damon/sysfs.c | 16 ++-------
samples/damon/mtier.c | 5 +++
samples/damon/prcl.c | 5 +++
samples/damon/wsse.c | 5 +++
7 files changed, 44 insertions(+), 31 deletions(-)
base-commit: 486593f91f44f469c920e73a4ef451d9bbbf400e
--
2.39.5
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-07-05 17:50 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-09 13:18 [PATCH 0/6] mm/damon: Misc cleanups SeongJae Park
2021-12-09 13:18 ` [PATCH 1/6] mm/damon: Convert macro functions to static inline functions SeongJae Park
2021-12-09 13:18 ` [PATCH 2/6] Docs/admin-guide/mm/damon/usage: Update for scheme quotas and watermarks SeongJae Park
2021-12-09 13:18 ` [PATCH 3/6] Docs/admin-guide/mm/damon/usage: Remove redundant information SeongJae Park
2021-12-09 13:18 ` [PATCH 4/6] Docs/admin-guide/mm/damon/usage: Mention tracepoint at the beginning SeongJae Park
2021-12-09 13:18 ` [PATCH 5/6] Docs/admin-guide/mm/damon/usage: Update for kdamond_pid and (mk|rm)_contexts SeongJae Park
2021-12-09 13:18 ` [PATCH 6/6] mm/damon: Remove a mistakenly added comment for a future feature SeongJae Park
-- strict thread matches above, loose matches on Subject: below --
2025-07-05 17:49 [PATCH 0/6] mm/damon: misc cleanups SeongJae Park
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).