From: SJ Park <sj@kernel.org>
Cc: SJ Park <sj@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
damon@lists.linux.dev, linux-kernel@vger.kernel.org,
linux-mm@kvack.org
Subject: [RFC PATCH 1/6] mm/damon/core: s/damon_max_nr_accesses()/damon_nr_samples_per_aggr()/
Date: Mon, 6 Jul 2026 21:38:21 -0700 [thread overview]
Message-ID: <20260707043828.97900-2-sj@kernel.org> (raw)
In-Reply-To: <20260707043828.97900-1-sj@kernel.org>
damon_max_nr_accesses() actually returns the number of samples DAMON
checks for each region per each aggregation interval. Rename it to
better describe what it really does and not confusing for more general
uses.
Signed-off-by: SJ Park <sj@kernel.org>
---
include/linux/damon.h | 10 ++++++----
mm/damon/core.c | 4 ++--
mm/damon/lru_sort.c | 2 +-
mm/damon/ops-common.c | 2 +-
4 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/include/linux/damon.h b/include/linux/damon.h
index 19b7e839bde0b..63f596957c1f1 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -1056,15 +1056,17 @@ static inline bool damon_target_has_pid(const struct damon_ctx *ctx)
return ctx->ops.id == DAMON_OPS_VADDR || ctx->ops.id == DAMON_OPS_FVADDR;
}
-static inline unsigned int damon_max_nr_accesses(const struct damon_attrs *attrs)
+/* Returns number of samples per aggregation interval */
+static inline unsigned int damon_nr_samples_per_aggr(
+ const struct damon_attrs *attrs)
{
unsigned long sample_interval;
- unsigned long max_nr_accesses;
+ unsigned long nr_samples;
sample_interval = attrs->sample_interval ? : 1;
- max_nr_accesses = min(attrs->aggr_interval / sample_interval,
+ nr_samples = min(attrs->aggr_interval / sample_interval,
(unsigned long)UINT_MAX);
- return max_nr_accesses ? : 1;
+ return nr_samples ? : 1;
}
diff --git a/mm/damon/core.c b/mm/damon/core.c
index 390e00b3685ef..e710e2789085e 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -880,7 +880,7 @@ static unsigned int damon_age_for_new_attrs(unsigned int age,
static unsigned int damon_accesses_bp_to_nr_accesses(
unsigned int accesses_bp, struct damon_attrs *attrs)
{
- return accesses_bp * damon_max_nr_accesses(attrs) / 10000;
+ return accesses_bp * damon_nr_samples_per_aggr(attrs) / 10000;
}
/*
@@ -893,7 +893,7 @@ static unsigned int damon_accesses_bp_to_nr_accesses(
static unsigned int damon_nr_accesses_to_accesses_bp(
unsigned int nr_accesses, struct damon_attrs *attrs)
{
- return mult_frac(nr_accesses, 10000, damon_max_nr_accesses(attrs));
+ return mult_frac(nr_accesses, 10000, damon_nr_samples_per_aggr(attrs));
}
static unsigned int damon_nr_accesses_for_new_attrs(unsigned int nr_accesses,
diff --git a/mm/damon/lru_sort.c b/mm/damon/lru_sort.c
index e8c389ad3226f..7e077084cb03a 100644
--- a/mm/damon/lru_sort.c
+++ b/mm/damon/lru_sort.c
@@ -303,7 +303,7 @@ static int damon_lru_sort_apply_parameters(void)
goto out;
err = -ENOMEM;
- hot_thres = damon_max_nr_accesses(&attrs) *
+ hot_thres = damon_nr_samples_per_aggr(&attrs) *
hot_thres_access_freq / 1000;
hot_scheme = damon_lru_sort_new_hot_scheme(hot_thres);
if (!hot_scheme)
diff --git a/mm/damon/ops-common.c b/mm/damon/ops-common.c
index 6bdd1cfd3863a..89c694f6e4fa8 100644
--- a/mm/damon/ops-common.c
+++ b/mm/damon/ops-common.c
@@ -112,7 +112,7 @@ int damon_hot_score(struct damon_ctx *c, struct damon_region *r,
int hotness;
freq_subscore = r->nr_accesses * DAMON_MAX_SUBSCORE /
- damon_max_nr_accesses(&c->attrs);
+ damon_nr_samples_per_aggr(&c->attrs);
age_in_sec = (unsigned long)r->age * c->attrs.aggr_interval / 1000000;
if (age_in_sec)
--
2.47.3
next prev parent reply other threads:[~2026-07-07 4:39 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-07 4:38 [RFC PATCH 0/6] mm/damon: update probe hits for runtime parameter commits SJ Park
2026-07-07 4:38 ` SJ Park [this message]
2026-07-07 4:38 ` [RFC PATCH 2/6] mm/damon/core: s/accesses_bp_to_nr_accesses/sample_bp_to_count/ SJ Park
2026-07-07 4:38 ` [RFC PATCH 3/6] mm/damon/core: s/nr_accesses_to_accesses_bp/sample_count_to_bp/ SJ Park
2026-07-07 4:38 ` [RFC PATCH 4/6] mm/damon/core: s/nr_accesses_for_new_attrs/nr_samples_for_new_attrs/ SJ Park
2026-07-07 4:38 ` [RFC PATCH 5/6] mm/damon/core: update probe hits for new parameter commit SJ Park
2026-07-07 4:38 ` [RFC PATCH 6/6] mm/damon/core: handle unreset probe_hits in probe_hits_mvsum() SJ 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=20260707043828.97900-2-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