mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 16:01:44 -04:00
mm/damon/core: add damon_split_region_at() debug_sanity check
damon_split_region_at() should be called with the correct address to split on. Add a sanity check for that under CONFIG_DAMON_DEBUG_SANITY. Link: https://lkml.kernel.org/r/20260306152914.86303-8-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Cc: Brendan Higgins <brendan.higgins@linux.dev> Cc: David Gow <davidgow@google.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
c070da2391
commit
6aa1f78354
@@ -2588,6 +2588,21 @@ static void kdamond_merge_regions(struct damon_ctx *c, unsigned int threshold,
|
||||
threshold / 2 < max_thres);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DAMON_DEBUG_SANITY
|
||||
static void damon_verify_split_region_at(struct damon_region *r,
|
||||
unsigned long sz_r)
|
||||
{
|
||||
WARN_ONCE(sz_r == 0 || sz_r >= damon_sz_region(r),
|
||||
"sz_r: %lu r: %lu-%lu (%lu)\n",
|
||||
sz_r, r->ar.start, r->ar.end, damon_sz_region(r));
|
||||
}
|
||||
#else
|
||||
static void damon_verify_split_region_at(struct damon_region *r,
|
||||
unsigned long sz_r)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Split a region in two
|
||||
*
|
||||
@@ -2599,6 +2614,7 @@ static void damon_split_region_at(struct damon_target *t,
|
||||
{
|
||||
struct damon_region *new;
|
||||
|
||||
damon_verify_split_region_at(r, sz_r);
|
||||
new = damon_new_region(r->ar.start + sz_r, r->ar.end);
|
||||
if (!new)
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user