SeongJae Park
75cb348714
selftests/damon/debugfs_rm_non_contexts: hide expected write error messages
...
A selftest case for DAMON debugfs interface has a test for expected
failure. To make the test output clean, hide the expected failure error
message.
Link: https://lkml.kernel.org/r/20230110190400.119388-9-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2023-02-02 22:32:52 -08:00
SeongJae Park
16ddcb1549
selftests/damon/sysfs: hide expected write failures
...
DAMON selftests for sysfs (sysfs.sh) tests if some writes to DAMON sysfs
interface files fails as expected. It makes the test results noisy with
the failure error message because it tests a number of such failures.
Redirect the expected failure error messages to /dev/null to make the
results clean.
Link: https://lkml.kernel.org/r/20230110190400.119388-8-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2023-02-02 22:32:52 -08:00
SeongJae Park
553b014244
selftests/damon/sysfs: test filters directory
...
Add simple test cases for scheme filters of DAMON sysfs interface. The
test cases check if the files are populated as expected, receives some
valid inputs, and refuses some invalid inputs.
Link: https://lkml.kernel.org/r/20221205230830.144349-10-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2023-01-18 17:12:44 -08:00
SeongJae Park
0b7623bdf8
selftests/damon: test removed scheme sysfs dir access bug
...
A DAMON sysfs user could start DAMON with a scheme, remove the sysfs
directory for the scheme, and then ask stats or schemes tried regions
update. The related logic were not aware of the already removed directory
situation, so it was able to results in invalid memory accesses. The fix
has made with commit 8468b48661 ("mm/damon/sysfs-schemes: skip stats
update if the scheme directory is removed"), though. Add a selftest to
prevent such kinds of bugs from being introduced again.
Link: https://lkml.kernel.org/r/20221201170834.62823-1-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2022-12-11 18:12:15 -08:00
Rong Tao
eff6aa17aa
selftests/damon: fix unnecessary compilation warnings
...
When testing overflow and overread, there is no need to keep unnecessary
compilation warnings, we should simply ignore them.
The motivation for this patch is to eliminate the compilation warning,
maybe one day we will compile the kernel with "-Werror -Wall", at which
point this compilation warning will turn into a compilation error, we
should fix this error in advance.
How to reproduce the problem (with gcc-11.3.1):
$ make -C tools/testing/selftests/
...
warning: `write' reading 4294967295 bytes from a region of size 1
[-Wstringop-overread]
warning: `read' writing 4294967295 bytes into a region of size 25
overflows the destination [-Wstringop-overflow=]
"-Wno-stringop-overread" is supported at least in gcc-11.1.0.
Link: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d14c547abd484d3540b692bb8048c4a6efe92c8b
Link: https://lkml.kernel.org/r/tencent_51C4ACA8CB3895C2D7F35178440283602107@qq.com
Signed-off-by: Rong Tao <rongtao@cestc.cn >
Reviewed-by: SeongJae Park <sj@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2022-11-30 15:58:56 -08:00
SeongJae Park
d7ec8f421a
selftests/damon: test non-context inputs to rm_contexts file
...
There was a bug[1] that triggered by writing non-context DAMON debugfs
file names to the 'rm_contexts' DAMON debugfs file. Add a selftest for
the bug to avoid it happen again.
[1] https://lore.kernel.org/damon/000000000000ede3ac05ec4abf8e@google.com/
Link: https://lkml.kernel.org/r/20221107165001.5717-3-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2022-11-30 15:58:47 -08:00
SeongJae Park
2b3ee3f66c
tools/selftets/damon/sysfs: test tried_regions directory existence
...
Add a simple test case for ensuring tried_regions directory existence.
Link: https://lkml.kernel.org/r/20221101220328.95765-7-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2022-11-30 15:58:44 -08:00
SeongJae Park
9cd6ffa602
selftests/damon: add tests for DAMON_LRU_SORT's enabled parameter
...
Add simple test cases for DAMON_LRU_SORT's 'enabled' parameter. Those
tests are focusing on the synchronous behavior of DAMON_RECLAIM enabling
and disabling.
Link: https://lkml.kernel.org/r/20221025173650.90624-5-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2022-11-30 15:01:27 -08:00
SeongJae Park
4cc0ee7787
selftests/damon: add tests for DAMON_RECLAIM's enabled parameter
...
Add simple test cases for DAMON_RECLAIM's 'enabled' parameter. Those
tests are focusing on the synchronous behavior of DAMON_RECLAIM enabling
and disabling.
Link: https://lkml.kernel.org/r/20221025173650.90624-3-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2022-11-30 15:01:26 -08:00
SeongJae Park
ade38b8ca5
selftest/damon: add a test for duplicate context dirs creation
...
Patch series "mm/damon: minor fixes and cleanups".
This patchset contains minor fixes and cleanups for DAMON including
- selftest for a bug we found before (Patch 1),
- fix of region holes in vaddr corner case and a kunit test for it
(Patches 2 and 3), and
- documents/Kconfig updates for title wordsmithing (Patch 4) and more
aggressive DAMON debugfs interface deprecation announcement
(Patches 5-7).
This patch (of 7):
Commit d26f607036 ("mm/damon/dbgfs: avoid duplicate context directory
creation") fixes a bug which could result in memory leak and DAMON
disablement. This commit adds a selftest for verifying the fix and avoid
regression.
Link: https://lkml.kernel.org/r/20220909202901.57977-1-sj@kernel.org
Link: https://lkml.kernel.org/r/20220909202901.57977-2-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Brendan Higgins <brendanhiggins@google.com >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Shuah Khan <shuah@kernel.org >
Cc: Yun Levi <ppbuk5246@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2022-10-03 14:03:06 -07:00
Gautam
43fe0cc46b
kselftests/damon: add support for cases where debugfs cannot be read
...
The kernel is in lockdown mode when secureboot is enabled and hence
debugfs cannot be used. Add support for this and other general cases
where debugfs cannot be read and communicate the same to the user before
running tests.
Signed-off-by: Gautam <gautammenghani201@gmail.com >
Reviewed-by: SeongJae Park <sj@kernel.org >
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org >
2022-06-27 14:14:41 -06:00
SeongJae Park
f893abbd69
selftets/damon/sysfs: test existence and permission of avail_operations
...
This commit adds a selftest test case for ensuring the existence and the
permission (read-only) of the 'avail_oprations' DAMON sysfs file.
Link: https://lkml.kernel.org/r/20220426203843.45238-4-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2022-05-13 07:20:06 -07:00
SeongJae Park
40184e484d
selftests/damon: add a test for DAMON sysfs interface
...
This commit adds a selftest for DAMON sysfs interface. It tests the
functionality of 'nr' files and existence of files in each directory of
the hierarchy.
Link: https://lkml.kernel.org/r/20220228081314.5770-12-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: David Rientjes <rientjes@google.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Shuah Khan <skhan@linuxfoundation.org >
Cc: Xin Hao <xhao@linux.alibaba.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2022-03-22 15:57:13 -07:00
SeongJae Park
9ab3b0c8ef
selftests/damon: split test cases
...
Currently, the single test program, debugfs.sh, contains all test cases
for DAMON. When one of the cases fails, finding which case is failed
from the test log is not so easy, and all remaining tests will be
skipped. To improve the situation, this commit splits the single
program into small test programs having their own names.
Link: https://lkml.kernel.org/r/20211201150440.1088-12-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Brendan Higgins <brendanhiggins@google.com >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-12-10 17:10:56 -08:00
SeongJae Park
b4a002889d
selftests/damon: test debugfs file reads/writes with huge count
...
DAMON debugfs interface users were able to trigger warning by writing
some files with arbitrarily large 'count' parameter. The issue is fixed
with commit db7a347b26 ("mm/damon/dbgfs: use '__GFP_NOWARN' for
user-specified size buffer allocation"). This commit adds a test case
for the issue in DAMON selftests to avoid future regressions.
Link: https://lkml.kernel.org/r/20211201150440.1088-11-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Brendan Higgins <brendanhiggins@google.com >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-12-10 17:10:56 -08:00
SeongJae Park
d85570c655
selftests/damon: test wrong DAMOS condition ranges input
...
A patch titled "mm/damon/schemes: add the validity judgment of
thresholds"[1] makes DAMON debugfs interface to validate DAMON scheme
inputs. This commit adds a test case for the validation logic in DAMON
selftests.
[1] https://lore.kernel.org/linux-mm/d78360e52158d786fcbf20bc62c96785742e76d3.1637239568.git.xhao@linux.alibaba.com/
Link: https://lkml.kernel.org/r/20211201150440.1088-10-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Brendan Higgins <brendanhiggins@google.com >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-12-10 17:10:56 -08:00
SeongJae Park
c6980e30af
selftests/damon: test DAMON enabling with empty target_ids case
...
DAMON debugfs didn't check empty targets when starting monitoring, and
the issue is fixed with commit b5ca3e83dd ("mm/damon/dbgfs: add
adaptive_targets list check before enable monitor_on"). To avoid future
regression, this commit adds a test case for that in DAMON selftests.
Link: https://lkml.kernel.org/r/20211201150440.1088-9-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Brendan Higgins <brendanhiggins@google.com >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-12-10 17:10:56 -08:00
SeongJae Park
964e17016c
selftests/damon: skip test if DAMON is running
...
Testing the DAMON debugfs files while DAMON is running makes no sense,
as any write to the debugfs files will fail. This commit makes the test
be skipped in this case.
Link: https://lkml.kernel.org/r/20211201150440.1088-8-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Brendan Higgins <brendanhiggins@google.com >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-12-10 17:10:56 -08:00
SeongJae Park
1dc90ccd15
selftests/damon: support watermarks
...
This updates DAMON selftests for 'schemes' debugfs file to reflect the
changes in the format.
Link: https://lkml.kernel.org/r/20211019150731.16699-14-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Amit Shah <amit@kernel.org >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: David Hildenbrand <david@redhat.com >
Cc: David Rientjes <rientjes@google.com >
Cc: David Woodhouse <dwmw@amazon.com >
Cc: Greg Thelen <gthelen@google.com >
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Leonard Foerster <foersleo@amazon.de >
Cc: Marco Elver <elver@google.com >
Cc: Markus Boehme <markubo@amazon.de >
Cc: Shakeel Butt <shakeelb@google.com >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-06 13:30:45 -07:00
SeongJae Park
5a0d6a08b8
tools/selftests/damon: update for regions prioritization of schemes
...
This updates the DAMON selftests for 'schemes' debugfs file, as the file
format is updated.
Link: https://lkml.kernel.org/r/20211019150731.16699-11-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Amit Shah <amit@kernel.org >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: David Hildenbrand <david@redhat.com >
Cc: David Rientjes <rientjes@google.com >
Cc: David Woodhouse <dwmw@amazon.com >
Cc: Greg Thelen <gthelen@google.com >
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Leonard Foerster <foersleo@amazon.de >
Cc: Marco Elver <elver@google.com >
Cc: Markus Boehme <markubo@amazon.de >
Cc: Shakeel Butt <shakeelb@google.com >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-06 13:30:45 -07:00
SeongJae Park
a2cb4dd0d4
mm/damon/selftests: support schemes quotas
...
This updates DAMON selftests to support updated schemes debugfs file
format for the quotas.
Link: https://lkml.kernel.org/r/20211019150731.16699-7-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Amit Shah <amit@kernel.org >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: David Hildenbrand <david@redhat.com >
Cc: David Rientjes <rientjes@google.com >
Cc: David Woodhouse <dwmw@amazon.com >
Cc: Greg Thelen <gthelen@google.com >
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Leonard Foerster <foersleo@amazon.de >
Cc: Marco Elver <elver@google.com >
Cc: Markus Boehme <markubo@amazon.de >
Cc: Shakeel Butt <shakeelb@google.com >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-06 13:30:45 -07:00
SeongJae Park
8d5d4c6359
selftests/damon: add 'schemes' debugfs tests
...
This adds simple selftets for 'schemes' debugfs file of DAMON.
Link: https://lkml.kernel.org/r/20211001125604.29660-7-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org >
Cc: Amit Shah <amit@kernel.org >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: David Hildenbrand <david@redhat.com >
Cc: David Rienjes <rientjes@google.com >
Cc: David Woodhouse <dwmw@amazon.com >
Cc: Greg Thelen <gthelen@google.com >
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Leonard Foerster <foersleo@amazon.de >
Cc: Marco Elver <elver@google.com >
Cc: Markus Boehme <markubo@amazon.de >
Cc: Shakeel Butt <shakeelb@google.com >
Cc: Shuah Khan <shuah@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-06 13:30:44 -07:00
SeongJae Park
b348eb7abd
mm/damon: add user space selftests
...
This commit adds a simple user space tests for DAMON. The tests are using
kselftest framework.
Link: https://lkml.kernel.org/r/20210716081449.22187-13-sj38.park@gmail.com
Signed-off-by: SeongJae Park <sjpark@amazon.de >
Reviewed-by: Markus Boehme <markubo@amazon.de >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Amit Shah <amit@kernel.org >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Brendan Higgins <brendanhiggins@google.com >
Cc: David Hildenbrand <david@redhat.com >
Cc: David Rientjes <rientjes@google.com >
Cc: David Woodhouse <dwmw@amazon.com >
Cc: Fan Du <fan.du@intel.com >
Cc: Fernand Sieber <sieberf@amazon.com >
Cc: Greg Kroah-Hartman <greg@kroah.com >
Cc: Greg Thelen <gthelen@google.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Joe Perches <joe@perches.com >
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Leonard Foerster <foersleo@amazon.de >
Cc: Marco Elver <elver@google.com >
Cc: Maximilian Heyne <mheyne@amazon.de >
Cc: Mel Gorman <mgorman@suse.de >
Cc: Minchan Kim <minchan@kernel.org >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Rik van Riel <riel@surriel.com >
Cc: Shakeel Butt <shakeelb@google.com >
Cc: Shuah Khan <shuah@kernel.org >
Cc: Steven Rostedt (VMware) <rostedt@goodmis.org >
Cc: Vladimir Davydov <vdavydov.dev@gmail.com >
Cc: Vlastimil Babka <vbabka@suse.cz >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-09-08 11:50:25 -07:00