linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: SeongJae Park <sj@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: SeongJae Park <sj@kernel.org>,
	damon@lists.linux.dev, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 09/11] mm/damon/core: add more comments for nr_accesses
Date: Thu,  7 Sep 2023 02:29:27 +0000	[thread overview]
Message-ID: <20230907022929.91361-10-sj@kernel.org> (raw)
In-Reply-To: <20230907022929.91361-1-sj@kernel.org>

The comment on struct damon_region about nr_accesses field looks not
sufficient.  Many people actually used to ask what nr_accesses mean.
There is more detailed explanation of the mechanism on the comment for
struct damon_attrs, but it is also ambiguous, as it doesn't specify the
name of the counter for aggregating the access check results.  Make
those more detailed.

Signed-off-by: SeongJae Park <sj@kernel.org>
---
 include/linux/damon.h | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/include/linux/damon.h b/include/linux/damon.h
index ae2664d1d5f1..266f92b34dd2 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -43,6 +43,10 @@ struct damon_addr_range {
  * @list:		List head for siblings.
  * @age:		Age of this region.
  *
+ * @nr_accesses is reset to zero for every &damon_attrs->aggr_interval and be
+ * increased for every &damon_attrs->sample_interval if an access to the region
+ * during the last sampling interval is found.
+ *
  * @age is initially zero, increased for each aggregation interval, and reset
  * to zero again if the access frequency is significantly changed.  If two
  * regions are merged into a new region, both @nr_accesses and @age of the new
@@ -472,13 +476,14 @@ struct damon_callback {
  *				regions.
  *
  * For each @sample_interval, DAMON checks whether each region is accessed or
- * not.  It aggregates and keeps the access information (number of accesses to
- * each region) for @aggr_interval time.  DAMON also checks whether the target
- * memory regions need update (e.g., by ``mmap()`` calls from the application,
- * in case of virtual memory monitoring) and applies the changes for each
- * @ops_update_interval.  All time intervals are in micro-seconds.
- * Please refer to &struct damon_operations and &struct damon_callback for more
- * detail.
+ * not during the last @sample_interval.  If such access is found, DAMON
+ * aggregates the information by increasing &damon_region->nr_accesses for
+ * @aggr_interval time.  For each @aggr_interval, the count is reset.  DAMON
+ * also checks whether the target memory regions need update (e.g., by
+ * ``mmap()`` calls from the application, in case of virtual memory monitoring)
+ * and applies the changes for each @ops_update_interval.  All time intervals
+ * are in micro-seconds.  Please refer to &struct damon_operations and &struct
+ * damon_callback for more detail.
  */
 struct damon_attrs {
 	unsigned long sample_interval;
-- 
2.25.1



  parent reply	other threads:[~2023-09-07  2:30 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-07  2:29 [PATCH 00/11] mm/damon: misc fixups for documents, comments and its tracepoint SeongJae Park
2023-09-07  2:29 ` [PATCH 01/11] Docs/admin-guide/mm/damon/usage: fixup missed :ref: keyword SeongJae Park
2023-09-07  2:29 ` [PATCH 02/11] Docs/admin-guide/mm/damon/usage: place debugfs usage at the bottom SeongJae Park
2023-09-07  2:29 ` [PATCH 03/11] Docs/admin-guide/mm/damon/usage: move debugfs intro to the bottom of the section SeongJae Park
2023-09-07  2:29 ` [PATCH 04/11] Docs/mm/damon/design: explicitly introduce ``nr_accesses`` SeongJae Park
2023-09-07  2:29 ` [PATCH 05/11] Docs/admin-guide/mm/damon/usage: explain the format of damon_aggregate tracepoint SeongJae Park
2023-09-07  2:29 ` [PATCH 06/11] Docs/mm/damon/design: add a section for kdamond and DAMON context SeongJae Park
2023-09-07  2:29 ` [PATCH 07/11] Docs/admin-guide/mm/damon/usage: link design doc for details of kdamond and context SeongJae Park
2023-09-07  2:29 ` [PATCH 08/11] mm/damon/core: fix a comment about damon_set_attrs() call timings SeongJae Park
2023-09-07  2:29 ` SeongJae Park [this message]
2023-09-07  2:29 ` [PATCH 10/11] mm/damon/core: remove duplicated comment for watermarks-based deactivation SeongJae Park
2023-09-07  2:29 ` [PATCH 11/11] mm/damon/core: remove 'struct target *' parameter from damon_aggregated tracepoint SeongJae Park

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230907022929.91361-10-sj@kernel.org \
    --to=sj@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=damon@lists.linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox