From: "Michal Koutný" <mkoutny@suse.com>
To: Li Wang <li.wang@linux.dev>
Cc: akpm@linux-foundation.org, tj@kernel.org, longman@redhat.com,
roman.gushchin@linux.dev, hannes@cmpxchg.org, yosry@kernel.org,
jiayuan.chen@linux.dev, nphamcs@gmail.com,
chengming.zhou@linux.dev, shuah@kernel.org, linux-mm@kvack.org,
cgroups@vger.kernel.org, linux-kselftest@vger.kernel.org,
linux-kernel@vger.kernel.org, Michal Hocko <mhocko@kernel.org>,
Muchun Song <muchun.song@linux.dev>,
Shakeel Butt <shakeel.butt@linux.dev>,
Yosry Ahmed <yosryahmed@google.com>
Subject: Re: [PATCH v7 6/8] selftest/cgroup: fix zswap test_no_invasive_cgroup_shrink on large pagesize system
Date: Wed, 17 Jun 2026 14:27:05 +0200 [thread overview]
Message-ID: <ajKFzxIlwUd79pJY@localhost.localdomain> (raw)
In-Reply-To: <20260424040059.12940-7-li.wang@linux.dev>
[-- Attachment #1: Type: text/plain, Size: 2107 bytes --]
On Fri, Apr 24, 2026 at 12:00:57PM +0800, Li Wang <li.wang@linux.dev> wrote:
> test_no_invasive_cgroup_shrink sets up two cgroups: wb_group, which is
> expected to trigger zswap writeback, and a control group (renamed to
> zw_group),
Aha, it should stand for zswap writeback? Then zwb_group to avoid (my)
confusion with zsw_group :-)
Although the original names were already well descriptive (both groups
are expected to have some zswap).
> which should only have pages sitting in zswap without any
> writeback.
>
> There are two problems with the current test:
>
> 1) The data patterns are reversed. wb_group uses allocate_bytes(), which
> writes only a single byte per page — trivially compressible,
> especially by zstd — so compressed pages fit within zswap.max and
> writeback is never triggered. Meanwhile, the control group uses
> getrandom() to produce hard-to-compress data, but it is the group
> that does *not* need writeback.
>
> 2) The test uses fixed sizes (10K zswap.max, 10MB allocation) that are
> too small on systems with large PAGE_SIZE (e.g. 64K), failing to
> build enough memory pressure to trigger writeback reliably.
>
> Fix both issues by:
> - Swapping the data patterns: fill wb_group pages with partially
> random data (getrandom for page_size/4 bytes) to resist compression
> and trigger writeback, and fill zw_group pages with simple repeated
> data to stay compressed in zswap.
I'd have expected that having both equal (i.e. both random to fill up
more easily) is what tests the effect zswap.max upon writeback most
precisely.
> - Making all size parameters PAGE_SIZE-aware: set allocation size to
> PAGE_SIZE * 1024, memory.zswap.max to PAGE_SIZE, and memory.max to
> allocation_size / 2 for both cgroups.
Makes sense.
> - Allocating memory inline instead of via cg_run() so the pages
> remain resident throughout the test.
What is the residency good for? (It doesn't matter AFAICS, so the change
seems gratuitous and code diverges from test_zswap_usage().)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 265 bytes --]
next prev parent reply other threads:[~2026-06-17 12:27 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-24 4:00 [PATCH v7 0/8] selftests/cgroup: improve zswap tests robustness and support large page sizes Li Wang
2026-04-24 4:00 ` [PATCH v7 1/8] selftests/cgroup: skip test_zswap if zswap is globally disabled Li Wang
2026-06-17 12:25 ` Michal Koutný
2026-04-24 4:00 ` [PATCH v7 2/8] selftests/cgroup: avoid OOM in test_swapin_nozswap Li Wang
2026-06-17 12:26 ` Michal Koutný
2026-04-24 4:00 ` [PATCH v7 3/8] selftests/cgroup: use runtime page size for zswpin check Li Wang
2026-06-17 12:25 ` Michal Koutný
2026-04-24 4:00 ` [PATCH v7 4/8] selftests/cgroup: rename PAGE_SIZE to BUF_SIZE in cgroup_util Li Wang
2026-06-17 12:26 ` Michal Koutný
2026-04-24 4:00 ` [PATCH v7 5/8] selftests/cgroup: replace hardcoded page size values in test_zswap Li Wang
2026-04-24 5:20 ` Jiayuan Chen
2026-06-17 12:26 ` Michal Koutný
2026-04-24 4:00 ` [PATCH v7 6/8] selftest/cgroup: fix zswap test_no_invasive_cgroup_shrink on large pagesize system Li Wang
2026-06-17 12:27 ` Michal Koutný [this message]
2026-04-24 4:00 ` [PATCH v7 7/8] selftest/cgroup: fix zswap attempt_writeback() on 64K " Li Wang
2026-06-17 12:26 ` Michal Koutný
2026-04-24 4:00 ` [PATCH v7 8/8] selftests/cgroup: test_zswap: wait for asynchronous writeback Li Wang
2026-06-17 12:26 ` Michal Koutný
2026-04-24 10:06 ` [PATCH v7 0/8] selftests/cgroup: improve zswap tests robustness and support large page sizes Andrew Morton
2026-04-24 11:14 ` Li Wang
2026-04-24 13:31 ` Andrew Morton
2026-06-17 12:28 ` Michal Koutný
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=ajKFzxIlwUd79pJY@localhost.localdomain \
--to=mkoutny@suse.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=chengming.zhou@linux.dev \
--cc=hannes@cmpxchg.org \
--cc=jiayuan.chen@linux.dev \
--cc=li.wang@linux.dev \
--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=muchun.song@linux.dev \
--cc=nphamcs@gmail.com \
--cc=roman.gushchin@linux.dev \
--cc=shakeel.butt@linux.dev \
--cc=shuah@kernel.org \
--cc=tj@kernel.org \
--cc=yosry@kernel.org \
--cc=yosryahmed@google.com \
/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