Re: [PATCHv7 10/24] zram: add zlib compression backend support

Sergey Senozhatsky
2025-05-13T05:41:14Z

Sorry for the delay,

On (25/05/09 17:18), Zaslonko Mikhail wrote:
> > When zram transitioned from Crypto API (scomp) to custom compression
> > API I picked the CryptoAPI deflate DEFLATE_DEF_WINBITS value:
> >
> > crypto/deflate.c: DEFLATE_DEF_WINBITS 11
> >
> > which is then passed to zlib_deflateInit2() and zlib_inflateInit2().
> >
> >> I tried to build the kernel with DEFLATE_DEF_WINBITS set to 15 and
> >> verified that s390 hardware deflate acceleration works for zram devices
> >> with a deflate compression.
> >
> > If we define it as 15 on non-s390 machines, will there be any
> > consequences? Increased memory usage? By how much?
>
> On s390, setting windowBits to 15 would lead to zlib workarea size
> increased by 120K (0x24dc8 -> 0x42dc8) per compression stream,
> i.e. per online CPU.
> On non-s390 machine, that impact will be about 115K per stream.
> Increasing window size should improve deflate compression,
> although the compression speed might be affected. Couldn't find any
> relevant zlib benchmarks though.
>
> Not sure what other consequences might there be for zram. Do you see any?

The increased per-CPU memory usage is the only thing I can think of.
I guess for zram we could turn this into a run-time parameter, but for
Crypto API compile-time is the only option, I guess.

Can you send a patch series (for zram and Crypto API) that sets
windowBits to 15?