On Tue, Oct 18, 2022 at 01:55:24PM +0900, Sergey Senozhatsky wrote: > Hello, > > This series adds support for multiple (per-CPU) > compression streams (at point only 2). The main idea is that > different compression algorithms have different characteristics > and zram may benefit when it uses a combination of algorithms: > a default algorithm that is faster but have lower compression > rate and a secondary algorithm that can use higher compression > rate at a price of slower compression/decompression. > > There are several use-case for this functionality: > > - huge pages re-compression: zstd or deflate can successfully > compress huge pages (~50% of huge pages on my synthetic ChromeOS > tests), IOW pages that lzo was not able to compress. > > - idle pages re-compression: idle/cold pages sit in the memory > and we may reduce zsmalloc memory usage if we recompress those > idle pages. > > User-space has a number of ways to control the behavior > and impact of zram recompression: what type of pages should be > recompressed, size watermarks, etc. Please refer to documentation > patch. Hi Sergey, First of all, I am really sorry to attend the party too late. I absolutely agree the feature is really useful and even I am thinking to support multiple comression trials on the fly for future. So I'd like to introduce the feature more general shape to be extended later so review will go. Thanks!