r->nr_accesses_bp = r->nr_accesses * 10000;
}
+#ifdef CONFIG_DAMON_DEBUG_SANITY
+static void damon_verify_reset_aggregated(struct damon_region *r,
+ struct damon_ctx *c)
+{
+ WARN_ONCE(r->nr_accesses_bp != r->last_nr_accesses * 10000,
+ "nr_accesses_bp %u last_nr_accesses %u sis %lu %lu\n",
+ r->nr_accesses_bp, r->last_nr_accesses,
+ c->passed_sample_intervals, c->next_aggregation_sis);
+}
+#else
+static void damon_verify_reset_aggregated(struct damon_region *r,
+ struct damon_ctx *c)
+{
+}
+#endif
+
+
/*
* Reset the aggregated monitoring results ('nr_accesses' of each region).
*/
damon_warn_fix_nr_accesses_corruption(r);
r->last_nr_accesses = r->nr_accesses;
r->nr_accesses = 0;
+ damon_verify_reset_aggregated(r, c);
}
ti++;
}