Re: [RFC PATCH 2/2] zsmalloc: chain-length configuration should consider other metrics

From: Sergey Senozhatsky

Date: Thu Jan 08 2026 - 04:24:50 EST


On (26/01/07 17:12), Yosry Ahmed wrote:
> On Wed, Jan 07, 2026 at 02:43:42PM +0900, Sergey Senozhatsky wrote:
> > On (26/01/07 05:39), Yosry Ahmed wrote:
> > > > On Tue, Jan 06, 2026 at 04:24:45PM +0000, Yosry Ahmed wrote:
> > [..]
> > > > Adding native SG support to LZO simply means removing the memcpy that
> > > > scomp would otherwise have to do.
> > >
> > > Yeah the effort to add native support to compressors can be done
> > > separately. For zswap, I think the most common compressors are
> > > actually zstd and LZ4.
> >
> > I think it's the same for chromeos: lz4 (primary) and zstd
> > (secondary/recompression). zstd looks very complicated,
> > not sure if we really want to diverge its codebase from
> > the upstream (meta github repo).
>
> I think there's value in using SG lists even if we do not have support
> for lz4 or zstd. We'll remove the memcpy() logic in zsmalloc and the
> kmap handling memcpy() in zswap if we just pass SG lists from zsmalloc
> to zswap/zram.

Yeah I agree, I guess I can cook something up.

For transition period we can have:
- current "memcpy" API
for zswap

- SG-list API

I can vmap either on the zram side or have new zsmalloc vmap API
(alongside the memcpy and SG-list APIs).

Once crypto API supports SG-list and algorithms tunables I can
switch zram over from zcomp to crypto API and remove memcpy and
vmap APIs from zsmalloc.