From: Johannes Weiner <hannes@cmpxchg.org>
To: Igor Belousov <igor.b@beldev.am>
Cc: Nhat Pham <nphamcs@gmail.com>,
vitaly.wool@konsulko.se, linux-mm@kvack.org,
akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
Shakeel Butt <shakeel.butt@linux.dev>,
Yosry Ahmed <yosryahmed@google.com>
Subject: Re: [PATCH v2] mm: add zblock allocator
Date: Tue, 8 Apr 2025 15:55:33 -0400 [thread overview]
Message-ID: <20250408195533.GA99052@cmpxchg.org> (raw)
In-Reply-To: <3f013184c80e254585b56c5f16b7e778@beldev.am>
On Tue, Apr 08, 2025 at 01:20:11PM +0400, Igor Belousov wrote:
> >> >> Now what's funny is that when I tried to compare how 32 threaded build
> >> >> would behave on a 8-core VM I couldn't do it because it OOMs with
> >> >> zsmalloc as zswap backend. With zblock it doesn't, though, and the
> >> >> results are:
> >> >> real 12m14.012s
> >> >> user 39m37.777s
> >> >> sys 14m6.923s
> >> >> Zswap: 440148 kB
> >> >> Zswapped: 924452 kB
> >> >> zswpin 594812
> >> >> zswpout 2802454
> >> >> zswpwb 10878
> >>
> >> It's LZ4 for all the test runs.
> >
> > Can you try zstd and let me know how it goes :)
>
> Sure. zstd/8 cores/make -j32:
>
> zsmalloc:
> real 7m36.413s
> user 38m0.481s
> sys 7m19.108s
> Zswap: 211028 kB
> Zswapped: 925904 kB
> zswpin 397851
> zswpout 1625707
> zswpwb 5126
>
> zblock:
> real 7m55.009s
> user 39m23.147s
> sys 7m44.004s
> Zswap: 253068 kB
> Zswapped: 919956 kB
> zswpin 456843
> zswpout 2058963
> zswpwb 3921
So zstd results in nearly double the compression ratio, which in turn
cuts total execution time *almost in half*.
The numbers speak for themselves. Compression efficiency >>> allocator
speed, because compression efficiency ultimately drives the continuous
*rate* at which allocations need to occur. You're trying to optimize a
constant coefficient at the expense of a higher-order one, which is a
losing proposition.
This is a general NAK from me on any new allocators that cannot match
or outdo zsmalloc storage density in common scenarios. I'm sorry, but
I really don't see any reason to do this.
We also should probably make zstd the zswap default.
next prev parent reply other threads:[~2025-04-08 19:55 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-04 19:28 [PATCH v2] mm: add zblock allocator Vitaly Wool
2025-04-04 20:03 ` Johannes Weiner
2025-04-04 23:56 ` Vitaly
2025-04-06 7:53 ` Igor Belousov
2025-04-07 9:00 ` Igor Belousov
2025-04-07 15:51 ` Nhat Pham
2025-04-07 16:44 ` Igor Belousov
2025-04-07 17:00 ` Nhat Pham
2025-04-08 9:20 ` Igor Belousov
2025-04-08 19:55 ` Johannes Weiner [this message]
2025-04-08 21:11 ` Nhat Pham
2025-04-08 21:38 ` Vitaly Wool
2025-04-08 22:05 ` Nhat Pham
2025-04-08 23:12 ` Vitaly Wool
2025-04-09 17:59 ` Igor Belousov
2025-04-10 7:02 ` Igor Belousov
2025-04-07 15:54 ` Johannes Weiner
2025-04-07 18:26 ` Vitaly Wool
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=20250408195533.GA99052@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=akpm@linux-foundation.org \
--cc=igor.b@beldev.am \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nphamcs@gmail.com \
--cc=shakeel.butt@linux.dev \
--cc=vitaly.wool@konsulko.se \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.