damon_destroy_region(r, t);
}
+#ifdef CONFIG_DAMON_DEBUG_SANITY
+static void damon_verify_merge_regions_of(struct damon_region *r)
+{
+ WARN_ONCE(r->nr_accesses != r->nr_accesses_bp / 10000,
+ "nr_accesses (%u) != nr_accesses_bp (%u)\n",
+ r->nr_accesses, r->nr_accesses_bp);
+}
+#else
+static void damon_verify_merge_regions_of(struct damon_region *r)
+{
+}
+#endif
+
+
/*
* Merge adjacent regions having similar access frequencies
*
struct damon_region *r, *prev = NULL, *next;
damon_for_each_region_safe(r, next, t) {
+ damon_verify_merge_regions_of(r);
if (abs(r->nr_accesses - r->last_nr_accesses) > thres)
r->age = 0;
else if ((r->nr_accesses == 0) != (r->last_nr_accesses == 0))