From: Li Wang
Date: Fri, 24 Apr 2026 04:00:54 +0000 (+0800)
Subject: selftests/cgroup: use runtime page size for zswpin check
X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=b19ee588e159c71f0d314246a944dcfc3e2a6009;p=thirdparty%2Flinux.git
selftests/cgroup: use runtime page size for zswpin check
test_zswapin compares memory.stat:zswpin (counted in pages) against a byte
threshold converted with PAGE_SIZE. In cgroup selftests, PAGE_SIZE is
hardcoded to 4096, which makes the conversion wrong on systems with non-4K
base pages (e.g. 64K).
As a result, the test requires too many pages to pass and fails spuriously
even when zswap is working.
Use sysconf(_SC_PAGESIZE) for the zswpin threshold conversion so the check
matches the actual system page size.
Link: https://lore.kernel.org/20260424040059.12940-4-li.wang@linux.dev
Signed-off-by: Li Wang
Reviewed-by: Yosry Ahmed
Acked-by: Nhat Pham
Cc: Johannes Weiner
Cc: Michal Hocko
Cc: Michal Koutný
Cc: Muchun Song
Cc: Tejun Heo
Cc: Roman Gushchin
Cc: Shakeel Butt
Cc: Chengming Zhou
Cc: Jiayuan Chen
Cc: Waiman Long
Cc: Yosry Ahmed
Signed-off-by: Andrew Morton
---
diff --git a/tools/testing/selftests/cgroup/test_zswap.c b/tools/testing/selftests/cgroup/test_zswap.c
index 47709cbdcdf1..37aa83c2f1bf 100644
--- a/tools/testing/selftests/cgroup/test_zswap.c
+++ b/tools/testing/selftests/cgroup/test_zswap.c
@@ -245,7 +245,7 @@ static int test_zswapin(const char *root)
goto out;
}
- if (zswpin < MB(24) / PAGE_SIZE) {
+ if (zswpin < MB(24) / sysconf(_SC_PAGESIZE)) {
ksft_print_msg("at least 24MB should be brought back from zswap\n");
goto out;
}