[PATCH v2 0/2] erofs-utils: refine tailpcluster compression approach
Gao Xiang
hsiangkao at linux.alibaba.com
Wed Feb 16 23:28:43 AEDT 2022
Hi,
This patchset refines tailpcluster compression. Firstly, instead of
compressing into many 4KiB pclusters, it compresses into 2 pclusters
as I already mentioned in the previous comment [1].
Secondly, it fixes up EOF lclusters which was disabled on purpose before
in order to achieve better inlining performance for small compressed data,
which matches the new kernel fix [2].
Still take linux-5.10.87 as an example (75368 inodes in total):
linux-5.10.87 (erofs, lz4hc,9 4k tailpacking) 391696384 => 331292672
linux-5.10.87 (erofs, lz4hc,9 8k tailpacking) 368807936 => 321961984
linux-5.10.87 (erofs, lz4hc,9 16k tailpacking) 345649152 => 313344000
linux-5.10.87 (erofs, lz4hc,9 32k tailpacking) 338649088 => 309055488
(There is still another improvement working in progress..)
Thanks,
Gao Xiang
[1] https://lore.kernel.org/r/YXkBIpcCG12Y8qMN@B-P7TQMD6M-0146.local
[2] https://lore.kernel.org/r/20220203190203.30794-1-xiang@kernel.org
changes since v1 (reported by Yue Hu):
- fall back to uncompressed data if EOF lcluster inline is no possible;
- fix `ret' signedness.
Gao Xiang (2):
erofs-utils: lib: get rid of a redundent compress round
erofs-utils: lib: refine tailpcluster compression approach
include/erofs/compress.h | 1 +
include/erofs/internal.h | 4 +
lib/compress.c | 156 +++++++++++++++++++++++++++------------
lib/inode.c | 9 ++-
4 files changed, 119 insertions(+), 51 deletions(-)
--
2.24.4
More information about the Linux-erofs
mailing list