damon_merge_regions_of(), which is called for each aggregation interval,
updates nr_accesses_bp to nr_accesses * 10000. However, nr_accesses_bp
is updated for each sampling interval via damon_moving_sum() using the
aggregation interval as the moving time window. And by the definition
of the algorithm, the value becomes same to discrete-window based sum
for each time window-aligned time. Hence, nr_accesses_bp will be same
to nr_accesses * 10000 for each aggregation interval without explicit
update. Remove the unnecessary update of nr_accesses_bp in
damon_merge_regions_of().
Signed-off-by: SeongJae Park <[email protected]>
---
mm/damon/core.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index c813407c09b4..1ba7c4669263 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -1182,8 +1182,6 @@ static void damon_merge_regions_of(struct damon_target *t, unsigned int thres,
else
r->age++;
- r->nr_accesses_bp = r->nr_accesses * 10000;
-
if (prev && prev->ar.end == r->ar.start &&
abs(prev->nr_accesses - r->nr_accesses) <= thres &&
damon_sz_region(prev) + damon_sz_region(r) <= sz_limit)
--
2.25.1