From: Li Wang <liwang@redhat.com>
To: akpm@linux-foundation.org, yosry@kernel.org, nphamcs@gmail.com,
hannes@cmpxchg.org, mhocko@kernel.org, mkoutny@suse.com,
muchun.song@linux.dev, tj@kernel.org, roman.gushchin@linux.dev,
shakeel.butt@linux.dev
Cc: longman@redhat.com, liwang@redhat.com,
linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org
Subject: [PATCH v5 0/8] selftests/cgroup: improve zswap tests robustness and support large page sizes
Date: Thu, 26 Mar 2026 11:26:50 +0800 [thread overview]
Message-ID: <20260326032658.96819-1-liwang@redhat.com> (raw)
This patchset aims to fix various spurious failures and improve the overall
robustness of the cgroup zswap selftests.
The primary motivation is to make the tests compatible with architectures
that use non-4K page sizes (such as 64K on ppc64le and arm64). Currently,
the tests rely heavily on hardcoded 4K page sizes and fixed memory limits.
On 64K page size systems, these hardcoded values lead to sub-page granularity
accesses, incorrect page count calculations, and insufficient memory pressure
to trigger zswap writeback, ultimately causing the tests to fail.
Additionally, this series addresses OOM kills occurring in test_swapin_nozswap
by dynamically scaling memory limits, and prevents spurious test failures
when zswap is built into the kernel but globally disabled.
Changes in v5:
Patch 1/8: Defined PATH_ZSWAP and PATH_ZSWAP_ENABLED macros.
Patch 4/8: Merge Waiman's work into this patch (use page_size).
Patch 5/8: Change pagesize by the global page_size.
Patch 6/8: Swap data patterns: use getrandom() for wb_group and simple
memset for zw_group to fix the reversed allocation logic.
Patch 7/8: Setting zswap.max to zswap_usage/4 to increase writeback pressure.
Patch 8/8: New added. Just add loops for read zswpwb more times.
Test all passed on:
x86_64(4k), aarch64(4K, 64K), ppc64le(64K).
Li Wang (8):
selftests/cgroup: skip test_zswap if zswap is globally disabled
selftests/cgroup: avoid OOM in test_swapin_nozswap
selftests/cgroup: use runtime page size for zswpin check
selftests/cgroup: rename PAGE_SIZE to BUF_SIZE in cgroup_util
selftests/cgroup: replace hardcoded page size values in test_zswap
selftest/cgroup: fix zswap test_no_invasive_cgroup_shrink on large
pagesize system
selftest/cgroup: fix zswap attempt_writeback() on 64K pagesize system
selftests/cgroup: test_zswap: wait for asynchronous writeback
.../selftests/cgroup/lib/cgroup_util.c | 18 +-
.../cgroup/lib/include/cgroup_util.h | 4 +-
tools/testing/selftests/cgroup/test_core.c | 2 +-
tools/testing/selftests/cgroup/test_freezer.c | 2 +-
.../selftests/cgroup/test_memcontrol.c | 19 +-
tools/testing/selftests/cgroup/test_zswap.c | 174 +++++++++++++-----
6 files changed, 148 insertions(+), 71 deletions(-)
--
2.53.0
next reply other threads:[~2026-03-26 3:27 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-26 3:26 Li Wang [this message]
2026-03-26 3:26 ` [PATCH v5 1/8] selftests/cgroup: skip test_zswap if zswap is globally disabled Li Wang
2026-03-26 3:26 ` [PATCH v5 2/8] selftests/cgroup: avoid OOM in test_swapin_nozswap Li Wang
2026-03-26 3:26 ` [PATCH v5 3/8] selftests/cgroup: use runtime page size for zswpin check Li Wang
2026-03-26 3:26 ` [PATCH v5 4/8] selftests/cgroup: rename PAGE_SIZE to BUF_SIZE in cgroup_util Li Wang
2026-03-26 3:26 ` [PATCH v5 5/8] selftests/cgroup: replace hardcoded page size values in test_zswap Li Wang
2026-03-26 3:26 ` [PATCH v5 6/8] selftest/cgroup: fix zswap test_no_invasive_cgroup_shrink on large pagesize system Li Wang
2026-03-26 3:26 ` [PATCH v5 7/8] selftest/cgroup: fix zswap attempt_writeback() on 64K " Li Wang
2026-03-26 3:26 ` [PATCH v5 8/8] selftests/cgroup: test_zswap: wait for asynchronous writeback Li Wang
2026-03-26 6:29 ` [PATCH v5 0/8] selftests/cgroup: improve zswap tests robustness and support large page sizes Li Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260326032658.96819-1-liwang@redhat.com \
--to=liwang@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=longman@redhat.com \
--cc=mhocko@kernel.org \
--cc=mkoutny@suse.com \
--cc=muchun.song@linux.dev \
--cc=nphamcs@gmail.com \
--cc=roman.gushchin@linux.dev \
--cc=shakeel.butt@linux.dev \
--cc=tj@kernel.org \
--cc=yosry@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox