[PATCH v5] erofs: DEFLATE compression support
Chao Yu
chao at kernel.org
Mon Jul 31 00:17:15 AEST 2023
On 2023/7/30 22:12, Gao Xiang wrote:
> Add DEFLATE compression as the 3rd supported algorithm.
>
> DEFLATE is a popular generic-purpose compression algorithm for quite
> long time (many advanced formats like gzip, zlib, zip, png are all
> based on that) as Apple documentation written "If you require
> interoperability with non-Apple devices, use COMPRESSION_ZLIB. [1]".
>
> Due to its popularity, there are several hardware on-market DEFLATE
> accelerators, such as (s390) DFLTCC, (Intel) IAA/QAT, (HiSilicon) ZIP
> accelerator, etc. In addition, there are also several high-performence
> IP cores and even open-source FPGA approches available for DEFLATE.
> Therefore, it's useful to support DEFLATE compression in order to find
> a way to utilize these accelerators for asynchronous I/Os and get
> benefits from these later.
>
> Besides, it's a good choice to trade off between compression ratios
> and performance compared to LZ4 and LZMA. The DEFLATE core format is
> simple as well as easy to understand, therefore the code size of its
> decompressor is small even for the bootloader use cases. The runtime
> memory consumption is quite limited too (e.g. 32K + ~7K for each zlib
> stream). As usual, EROFS ourperforms similar approaches too.
>
> Alternatively, DEFLATE could still be used for some specific files
> since EROFS supports multiple compression algorithms in one image.
>
> [1] https://developer.apple.com/documentation/compression/compression_algorithm
> Signed-off-by: Gao Xiang <hsiangkao at linux.alibaba.com>
Reviewed-by: Chao Yu <chao at kernel.org>
Thanks,
More information about the Linux-erofs
mailing list