public inbox for linux-mm@kvack.org
 help / color / mirror / Atom feed
From: Yosry Ahmed <yosry@kernel.org>
To: Li Wang <liwang@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	longman@redhat.com, yosryahmed@google.com,  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, linux-kselftest@vger.kernel.org,
	 linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH v4 0/7] selftests/cgroup: improve zswap tests robustness and support large page sizes
Date: Mon, 23 Mar 2026 17:12:27 -0700	[thread overview]
Message-ID: <CAO9r8zPxUv5V+VKEBuyacJUsc-UWh7hGc06yNQntY2GcUJLBPw@mail.gmail.com> (raw)
In-Reply-To: <acCyPNCBoTGAJjfs@redhat.com>

On Sun, Mar 22, 2026 at 8:23 PM Li Wang <liwang@redhat.com> wrote:
>
> On Sun, Mar 22, 2026 at 09:18:51AM -0700, Andrew Morton wrote:
> > On Sun, 22 Mar 2026 14:10:31 +0800 Li Wang <liwang@redhat.com> wrote:
> >
> > > This patchset aims to fix various spurious failures and improve the overall
> > > robustness of the cgroup zswap selftests.
> >
> > AI review has questions:
> >       https://sashiko.dev/#/patchset/20260322061038.156146-1-liwang@redhat.com
>
> > [Sashiko comments in patch 4/7]
> > ...
> > Could we update this loop, along with the identical loops in
> > alloc_anon_noexit() and alloc_anon_50M_check_swap() shown below, to use
> > sysconf(_SC_PAGESIZE) instead?
>
> I found that Waiman submit another patch that do same thing like this
> suggestion. I'd consider to merge that one into my patch 4/7.
>
> So, let me talk to Waiman first.

Probably fits better in your patch.

> > The test data is generated by writing a single 'a' character per page, leaving
> > the rest zero-filled:
>
> >       for (int i = 0; i < control_allocation_size; i += pagesize)
> >               control_allocation[i] = 'a';
>
> > This makes the data highly compressible. Because memory.max is set to half of
> > control_allocation_size, 512 pages are pushed into zswap.
>
> > 512 pages of mostly zeros can compress down to roughly 11 to 15 kilobytes
> > using compressors like zstd, which is well below the 65536 byte (64k)
> > zswap.max limit on a 64k page system.
>
> > Since the limit might not be reached, writeback might never trigger,
> > causing the test to falsely fail. Should the test use incompressible data
> > or a lower fixed limit?
>
> If Sashiko suggests reducing compressibility, we'd need to fill a significant
> fraction of each page with varied data, but that would work against the test:
>
> zswap would reject poorly compressing pages and send them straight to swap,
> and memory.stat:zswapped might never reach the threshold the test checks
> with cg_read_key_long(..., "zswapped") < 1.
>
> So, at most I'd keep the data highly compressible and just ensure non-zero,
> unique-per-page markers.

Sashiko claims that 512 pages will end up consuming 11K to 15K in
zswap with this setup, do you know what the actual number is?
Especially with different compressors? If it's close to 64K, this
might be a problem.

Maybe we can fill half of each page with increasing values? It should
still be compressible but not too compressible.


  reply	other threads:[~2026-03-24  0:12 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-22  6:10 [PATCH v4 0/7] selftests/cgroup: improve zswap tests robustness and support large page sizes Li Wang
2026-03-22  6:10 ` [PATCH v4 1/7] selftests/cgroup: skip test_zswap if zswap is globally disabled Li Wang
2026-03-24  0:13   ` Yosry Ahmed
2026-03-24  6:46     ` Li Wang
2026-03-22  6:10 ` [PATCH v4 2/7] selftests/cgroup: avoid OOM in test_swapin_nozswap Li Wang
2026-03-22  6:10 ` [PATCH v4 3/7] selftests/cgroup: use runtime page size for zswpin check Li Wang
2026-03-22  6:10 ` [PATCH v4 4/7] selftests/cgroup: rename PAGE_SIZE to BUF_SIZE in cgroup_util Li Wang
2026-03-22  6:10 ` [PATCH v4 5/7] selftests/cgroup: replace hardcoded page size values in test_zswap Li Wang
2026-03-24  0:05   ` Yosry Ahmed
2026-03-22  6:10 ` [PATCH v4 6/7] selftest/cgroup: fix zswap test_no_invasive_cgroup_shrink on large pagesize system Li Wang
2026-03-22  6:10 ` [PATCH v4 7/7] selftest/cgroup: fix zswap attempt_writeback() on 64K " Li Wang
2026-03-22 16:18 ` [PATCH v4 0/7] selftests/cgroup: improve zswap tests robustness and support large page sizes Andrew Morton
2026-03-23  3:23   ` Li Wang
2026-03-24  0:12     ` Yosry Ahmed [this message]
2026-03-24 12:16       ` Li Wang
2026-03-24 20:28         ` Yosry Ahmed
2026-03-25  2:26           ` Li Wang
2026-03-25  2:49             ` Yosry Ahmed
2026-03-25  6:12               ` Li Wang
2026-03-25  6:17                 ` Li Wang
2026-03-25  7:21                   ` 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=CAO9r8zPxUv5V+VKEBuyacJUsc-UWh7hGc06yNQntY2GcUJLBPw@mail.gmail.com \
    --to=yosry@kernel.org \
    --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=liwang@redhat.com \
    --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=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