[PATCH v2 0/2] erofs-utils: refine tailpcluster compression approach

Gao Xiang hsiangkao at linux.alibaba.com
Thu Feb 17 20:09:41 AEDT 2022


On Thu, Feb 17, 2022 at 04:43:23PM +0800, Yue Hu wrote:
> On Wed, 16 Feb 2022 20:28:43 +0800
> Gao Xiang <hsiangkao at linux.alibaba.com> wrote:
> 
> > 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(-)
> > 
> 
> Tested-by: Yue Hu <huyue2 at yulong.com>

Thanks for the confirmation on your side.

Thanks,
Gao Xiang


More information about the Linux-erofs mailing list