2023-09-07 05:13:51

by SeongJae Park

[permalink] [raw]
Subject: [PATCH 00/11] mm/damon: misc fixups for documents, comments and its tracepoint

This patchset contains miscellaneous simple fixups for documents, comments and
tracepoint of DAMON.

SeongJae Park (11):
Docs/admin-guide/mm/damon/usage: fixup missed :ref: keyword
Docs/admin-guide/mm/damon/usage: place debugfs usage at the bottom
Docs/admin-guide/mm/damon/usage: move debugfs intro to the bottom of
the section
Docs/mm/damon/design: explicitly introduce ``nr_accesses``
Docs/admin-guide/mm/damon/usage: explain the format of damon_aggregate
tracepoint
Docs/mm/damon/design: add a section for kdamond and DAMON context
Docs/admin-guide/mm/damon/usage: link design doc for details of
kdamond and context
mm/damon/core: fix a comment about damon_set_attrs() call timings
mm/damon/core: add more comments for nr_accesses
mm/damon/core: remove duplicated comment for watermarks-based
deactivation
mm/damon/core: remove 'struct target *' parameter from
damon_aggregated tracepoint

Documentation/admin-guide/mm/damon/usage.rst | 86 +++++++++++---------
Documentation/mm/damon/design.rst | 23 +++++-
include/linux/damon.h | 22 ++---
include/trace/events/damon.h | 6 +-
mm/damon/core.c | 8 +-
5 files changed, 90 insertions(+), 55 deletions(-)


base-commit: ac8e8303c9c11b5c2e1d2e110866eb66c9fd771e
--
2.25.1


2023-09-07 05:30:07

by SeongJae Park

[permalink] [raw]
Subject: [PATCH 11/11] mm/damon/core: remove 'struct target *' parameter from damon_aggregated tracepoint

damon_aggregateed tracepoint is receiving 'struct target *', but doesn't
use it. Remove it from the prototype.

Signed-off-by: SeongJae Park <[email protected]>
---
include/trace/events/damon.h | 6 +++---
mm/damon/core.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/trace/events/damon.h b/include/trace/events/damon.h
index c79f1d4c39af..0b8d13bde17a 100644
--- a/include/trace/events/damon.h
+++ b/include/trace/events/damon.h
@@ -11,10 +11,10 @@

TRACE_EVENT(damon_aggregated,

- TP_PROTO(struct damon_target *t, unsigned int target_id,
- struct damon_region *r, unsigned int nr_regions),
+ TP_PROTO(unsigned int target_id, struct damon_region *r,
+ unsigned int nr_regions),

- TP_ARGS(t, target_id, r, nr_regions),
+ TP_ARGS(target_id, r, nr_regions),

TP_STRUCT__entry(
__field(unsigned long, target_id)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index 1ce483a3c2b5..b895f70acb2d 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -805,7 +805,7 @@ static void kdamond_reset_aggregated(struct damon_ctx *c)
struct damon_region *r;

damon_for_each_region(r, t) {
- trace_damon_aggregated(t, ti, r, damon_nr_regions(t));
+ trace_damon_aggregated(ti, r, damon_nr_regions(t));
r->last_nr_accesses = r->nr_accesses;
r->nr_accesses = 0;
}
--
2.25.1

2023-09-07 06:10:54

by SeongJae Park

[permalink] [raw]
Subject: [PATCH 03/11] Docs/admin-guide/mm/damon/usage: move debugfs intro to the bottom of the section

On the DAMON usage introduction section, the introduction of DAMON
debugfs interface, which is deprecated, is above kernel API, which is
actively supported. Move the DAMON debugfs intro to bottom, so that
readers have less chances to read it.

Signed-off-by: SeongJae Park <[email protected]>
---
Documentation/admin-guide/mm/damon/usage.rst | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin-guide/mm/damon/usage.rst
index bffe9dd9b0d6..e48101c777e1 100644
--- a/Documentation/admin-guide/mm/damon/usage.rst
+++ b/Documentation/admin-guide/mm/damon/usage.rst
@@ -20,18 +20,18 @@ DAMON provides below interfaces for different users.
you can write and use your personalized DAMON sysfs wrapper programs that
reads/writes the sysfs files instead of you. The `DAMON user space tool
<https://github.com/awslabs/damo>`_ is one example of such programs.
-- *debugfs interface. (DEPRECATED!)*
- :ref:`This <debugfs_interface>` is almost identical to :ref:`sysfs interface
- <sysfs_interface>`. This is deprecated, so users should move to the
- :ref:`sysfs interface <sysfs_interface>`. If you depend on this and cannot
- move, please report your usecase to [email protected] and
- [email protected].
- *Kernel Space Programming Interface.*
:doc:`This </mm/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 </mm/damon/api>`.
+- *debugfs interface. (DEPRECATED!)*
+ :ref:`This <debugfs_interface>` is almost identical to :ref:`sysfs interface
+ <sysfs_interface>`. This is deprecated, so users should move to the
+ :ref:`sysfs interface <sysfs_interface>`. If you depend on this and cannot
+ move, please report your usecase to [email protected] and
+ [email protected].

.. _sysfs_interface:

--
2.25.1