]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
mm/damon/core: skip updating nr_accesses_bp for each aggregation interval
authorSeongJae Park <sj@kernel.org>
Fri, 15 Sep 2023 02:52:50 +0000 (02:52 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 4 Oct 2023 17:32:30 +0000 (10:32 -0700)
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().

Link: https://lkml.kernel.org/r/20230915025251.72816-8-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/core.c

index 29ee1fc1839362f3f58eb6b45b0990ae9a5369b8..45cc108c0fe1701d1014039e5cbd6c477b452f34 100644 (file)
@@ -1141,8 +1141,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)