From: Donggeun Yoo <[email protected]> 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. Changes from v1 - v1: https://lore.kernel.org/[email protected] - Add user impact clarification to patch 1. - Collec R-b: from SJ. - Rebase to the latest mm-new. 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: 99528f68cc4066167e5e7135c1172be1e6315102 -- 2.47.3

