[PATCH v1 0/2] mm/damon/core: fix the size charged for a filter-trimmed region

From: Donggeun Yoo

Date: Wed Sep 16 2026 - 20:36:11 EST


An address range DAMOS filter that partially overlaps a monitoring region
splits it, so the scheme action reaches only one side of the boundary.
damos_apply_scheme() reads the region size before that split and never
re-reads it, so the quota charge and schemes/<S>/stats/sz_tried account for
the whole original region.

Patch 1 re-reads the size after the core filters have run. Patch 2 adds
KUnit coverage for what the function charges and reports, for the trimmed
cases and for the cases that must not change.

Donggeun Yoo (2):
mm/damon/core: charge only the part of a region the filter left
mm/damon/tests/core-kunit: test the size charged for a filter-trimmed
region

mm/damon/core.c | 1 +
mm/damon/tests/core-kunit.h | 316 ++++++++++++++++++++++++++++++++++++
2 files changed, 317 insertions(+)


base-commit: 892f5b3b07e5b07f2f29c87750ff94fa58dcab73
--
2.53.0