From a5edf881c9523ccfd0e64a45f80176ffe90e12d1 Mon Sep 17 00:00:00 2001 From: SJ Park Date: Mon, 29 Jun 2026 21:08:11 -0700 Subject: [PATCH] mm/damon/core: remove damon_region->nr_accesses_bp No code touches damon_region->nr_accesses_bp field. Remove it. Link: https://lore.kernel.org/20260630040812.149729-19-sj@kernel.org Signed-off-by: SJ Park Cc: Brendan Higgins Cc: "Masami Hiramatsu (Google)" Cc: Mathieu Desnoyers Cc: Shuah Khan Cc: Steven Rostedt Signed-off-by: Andrew Morton --- include/linux/damon.h | 10 ---------- mm/damon/core.c | 3 +-- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/include/linux/damon.h b/include/linux/damon.h index 02ed47c558cc..805e089ff4f2 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -45,8 +45,6 @@ struct damon_size_range { * @ar: The address range of the region. * @sampling_addr: Address of the sample for the next access check. * @nr_accesses: Access frequency of this region. - * @nr_accesses_bp: @nr_accesses in basis point (0.01%) that updated for - * each sampling interval. * @probe_hits: Number of probe-positive region samples. * @list: List head for siblings. * @age: Age of this region. @@ -59,13 +57,6 @@ struct damon_size_range { * not be done with direct access but with the helper function, * damon_update_region_access_rate(). * - * @nr_accesses_bp is another representation of @nr_accesses in basis point - * (1 in 10,000) that updated for every &damon_attrs->sample_interval in a - * manner similar to moving sum. By the algorithm, this value becomes - * @nr_accesses * 10000 for every &struct damon_attrs->aggr_interval. This can - * be used when the aggregation interval is too huge and therefore cannot wait - * for it before getting the access monitoring results. - * * @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 @@ -75,7 +66,6 @@ struct damon_region { struct damon_addr_range ar; unsigned long sampling_addr; unsigned int nr_accesses; - unsigned int nr_accesses_bp; unsigned char probe_hits[DAMON_MAX_PROBES]; struct list_head list; diff --git a/mm/damon/core.c b/mm/damon/core.c index 0c32219fb1f8..b2fc15a3804f 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -3649,8 +3649,7 @@ static int kdamond_fn(void *data) * aggregation, and make aggregation * information reset for all regions. Then, * following kdamond_reset_aggregated() call - * will make the region information invalid, - * particularly for ->nr_accesses_bp. + * will make the region information invalid. * * Reset ->next_aggregation_sis to avoid that. * It will anyway correctly updated after this