mm/damon/core: avoid holes in newly set monitoring target ranges
authorSeongJae Park <sj@kernel.org>
Fri, 9 Sep 2022 20:28:56 +0000 (20:28 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 3 Oct 2022 21:03:06 +0000 (14:03 -0700)
commit9c950c22833cfd9887da7679534e5c6deb44b008
tree7cdfe77cddf9d923f97189bcc8a842f401498305
parentade38b8ca5ceeeb72e8d01357f3dcde7c87570cc
mm/damon/core: avoid holes in newly set monitoring target ranges

When there are two or more non-contiguous regions intersecting with given
new ranges, 'damon_set_regions()' does not fill the holes.  This commit
makes the function to fill the holes with newly created regions.

[sj@kernel.org: handle error from 'damon_fill_regions_holes()']
Link: https://lkml.kernel.org/r/20220913215420.57761-1-sj@kernel.org
Link: https://lkml.kernel.org/r/20220909202901.57977-3-sj@kernel.org
Fixes: 3f49584b262c ("mm/damon: implement primitives for the virtual memory address spaces")
Signed-off-by: SeongJae Park <sj@kernel.org>
Reported-by: Yun Levi <ppbuk5246@gmail.com>
Cc: Brendan Higgins <brendanhiggins@google.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/core.c