Re: [PATCH v2] selftests/cgroup: test_zswap: skip test_no_kmem_bypass if debugfs is unavailable
SJ Park <[email protected]>
| Newsgroups | org.kernel.vger.cgroups,org.kernel.vger.linux-kselftest,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 11 Aug 2026 19:06:11 -0700 Andrew Morton <[email protected]> wrote: > On Tue, 11 Aug 2026 05:14:11 +0000 Wilson Felipe Pereira <[email protected]> wrote: > > > test_no_kmem_bypass() needs to read > > /sys/kernel/debug/zswap/stored_pages via get_zswap_stored_pages() to > > verify that compressed pages are charged to the memcg. > > > > When running in an environment where debugfs is not mounted or > > CONFIG_DEBUG_FS is disabled, get_zswap_stored_pages() fails, causing the > > loop to terminate early and report a false negative (KSFT_FAIL). > > > > Selftests should not fail if debugfs is unavailable, and it should print > > a message when it is skipped. > > > > While I'm here, also add a warning message if the test is being skipped > > due to totalram size and make the check for totalram more readable. > > > > ... > > > > --- a/tools/testing/selftests/cgroup/lib/include/cgroup_util.h > > +++ b/tools/testing/selftests/cgroup/lib/include/cgroup_util.h > > > > ... > > > > @@ -570,8 +571,16 @@ static int test_no_kmem_bypass(const char *root) > > /* Read sys info and compute test values accordingly */ > > if (sysinfo(&sys_info) != 0) > > return KSFT_FAIL; > > - if (sys_info.totalram > 5000000000) > > + if (sys_info.totalram > GB(4)) { > > + ksft_print_msg( > > + "requires less than 4GB total ram, sys_info.totalram: %.1fGB\n", > > + (double)sys_info.totalram / GB(1)); > > return KSFT_SKIP; > > + } > > + if (access(PATH_ZSWAP_STORED_PAGES, R_OK)) { > > + ksft_print_msg("mount debugfs at /sys/kernel/debug\n"); > > Super nittynit: "mount debugfs at /sys/kernel/debug" sounds like a > progress message. "I just mounted debugfs at ...". I think the below is > more clear? +1. I was feeling similar. > > --- a/tools/testing/selftests/cgroup/test_zswap.c~selftests-cgroup-test_zswap-skip-test_no_kmem_bypass-if-debugfs-is-unavailable-fix > +++ a/tools/testing/selftests/cgroup/test_zswap.c > @@ -578,7 +578,7 @@ static int test_no_kmem_bypass(const cha > return KSFT_SKIP; > } > if (access(PATH_ZSWAP_STORED_PAGES, R_OK)) { > - ksft_print_msg("mount debugfs at /sys/kernel/debug\n"); > + ksft_print_msg("debugfs not mounted at /sys/kernel/debug\n"); This reads better for me. I also find this is more consistent to similar skip messages in main() and check_zswap_enabled(). > return KSFT_SKIP; > } > values = mmap(0, sizeof(struct no_kmem_bypass_child_args), PROT_READ | > _ Thanks, SJ