[PATCH 1/3] mm/damon/core: remove damos_set_next_apply_sis() duplicates

From: SeongJae Park

Date: Sat Mar 07 2026 - 14:49:46 EST


There is a function for damos->next_apply_sis setup. But some places
are open-coding it. Consistently use the helper.

Signed-off-by: SeongJae Park <sj@xxxxxxxxxx>
---
mm/damon/core.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/mm/damon/core.c b/mm/damon/core.c
index e8c44541754f7..c4c30824465ee 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -2450,8 +2450,6 @@ static void kdamond_apply_schemes(struct damon_ctx *c)
struct damon_target *t;
struct damon_region *r;
struct damos *s;
- unsigned long sample_interval = c->attrs.sample_interval ?
- c->attrs.sample_interval : 1;
bool has_schemes_to_apply = false;

damon_for_each_scheme(s, c) {
@@ -2482,9 +2480,7 @@ static void kdamond_apply_schemes(struct damon_ctx *c)
if (c->passed_sample_intervals < s->next_apply_sis)
continue;
damos_walk_complete(c, s);
- s->next_apply_sis = c->passed_sample_intervals +
- (s->apply_interval_us ? s->apply_interval_us :
- c->attrs.aggr_interval) / sample_interval;
+ damos_set_next_apply_sis(s, c);
s->last_applied = NULL;
damos_trace_stat(c, s);
}
@@ -2858,7 +2854,6 @@ static void kdamond_init_ctx(struct damon_ctx *ctx)
{
unsigned long sample_interval = ctx->attrs.sample_interval ?
ctx->attrs.sample_interval : 1;
- unsigned long apply_interval;
struct damos *scheme;

ctx->passed_sample_intervals = 0;
@@ -2869,9 +2864,7 @@ static void kdamond_init_ctx(struct damon_ctx *ctx)
ctx->attrs.intervals_goal.aggrs;

damon_for_each_scheme(scheme, ctx) {
- apply_interval = scheme->apply_interval_us ?
- scheme->apply_interval_us : ctx->attrs.aggr_interval;
- scheme->next_apply_sis = apply_interval / sample_interval;
+ damos_set_next_apply_sis(scheme, ctx);
damos_set_filters_default_reject(scheme);
}
}
--
2.47.3