All of lore.kernel.org
 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:29 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.