[LTP] [PATCH v4 30/31] testcases: sysfs: Add sys_mm_swap01
Cyril Hrubis
chrubis@suse.cz
Thu Aug 27 13:21:56 CEST 2026
A test for /sys/kernel/mm/swap/vma_ra_enabled file.
Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---
include/tst_path_defs.h | 3 ++
runtest/sysfs | 1 +
.../kernel/sysfs/kernel/mm/swap/.gitignore | 1 +
.../kernel/sysfs/kernel/mm/swap/Makefile | 7 ++++
.../sysfs/kernel/mm/swap/sys_mm_swap01.c | 35 +++++++++++++++++++
5 files changed, 47 insertions(+)
create mode 100644 testcases/kernel/sysfs/kernel/mm/swap/.gitignore
create mode 100644 testcases/kernel/sysfs/kernel/mm/swap/Makefile
create mode 100644 testcases/kernel/sysfs/kernel/mm/swap/sys_mm_swap01.c
diff --git a/include/tst_path_defs.h b/include/tst_path_defs.h
index 94836eb42..ecee8d426 100644
--- a/include/tst_path_defs.h
+++ b/include/tst_path_defs.h
@@ -92,6 +92,9 @@
#define MEMINFO_HPAGE_SURP "HugePages_Surp:"
#define MEMINFO_HPAGE_SIZE "Hugepagesize:"
+/* SWAP */
+#define PATH_MM_SWAP "/sys/kernel/mm/swap"
+
/* SYS_BLOCK */
#define PATH_SYS_BLOCK "/sys/block"
diff --git a/runtest/sysfs b/runtest/sysfs
index 08358ebc6..7d59ae701 100644
--- a/runtest/sysfs
+++ b/runtest/sysfs
@@ -25,3 +25,4 @@ sys_block_size01 sys_block_size01
sys_hugepages01 sys_hugepages01
sys_hugepages02 sys_hugepages02
sys_ksm01 sys_ksm01
+sys_mm_swap01 sys_mm_swap01
diff --git a/testcases/kernel/sysfs/kernel/mm/swap/.gitignore b/testcases/kernel/sysfs/kernel/mm/swap/.gitignore
new file mode 100644
index 000000000..38895046b
--- /dev/null
+++ b/testcases/kernel/sysfs/kernel/mm/swap/.gitignore
@@ -0,0 +1 @@
+/sys_mm_swap01
diff --git a/testcases/kernel/sysfs/kernel/mm/swap/Makefile b/testcases/kernel/sysfs/kernel/mm/swap/Makefile
new file mode 100644
index 000000000..781865569
--- /dev/null
+++ b/testcases/kernel/sysfs/kernel/mm/swap/Makefile
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (c) 2026 Cyril Hrubis <chrubis@suse.cz>
+
+top_srcdir ?= ../../../../../..
+
+include $(top_srcdir)/include/mk/testcases.mk
+include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/kernel/sysfs/kernel/mm/swap/sys_mm_swap01.c b/testcases/kernel/sysfs/kernel/mm/swap/sys_mm_swap01.c
new file mode 100644
index 000000000..08e3528da
--- /dev/null
+++ b/testcases/kernel/sysfs/kernel/mm/swap/sys_mm_swap01.c
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2026 Cyril Hrubis <chrubis@suse.cz>
+ */
+
+/*\
+ * Sanity check for /sys/kernel/mm/swap/vma_ra_enabled.
+ *
+ * Unlike most other boolean sysfs tunables which use 0/1, this one is
+ * formatted as the strings ``true`` or ``false``, so it needs its own check
+ * rather than TST_SYSFS_ASSERT_BOOL().
+ *
+ * The test skips with TCONF when the attribute is not present.
+ */
+
+#include "tst_test.h"
+#include "tst_sysfs_assert.h"
+#include "tst_path_defs.h"
+
+static const char *const bool_str_allowed[] = {
+ "true", "false", NULL
+};
+
+static void do_test(void)
+{
+ TST_SYSFS_ASSERT_ONEOF(bool_str_allowed, PATH_MM_SWAP "/vma_ra_enabled");
+}
+
+static struct tst_test test = {
+ .test_all = do_test,
+ .needs_kconfigs = (const char *const[]){
+ "CONFIG_SWAP=y",
+ NULL
+ },
+};
--
2.54.0
More information about the ltp
mailing list