EROFS big pcluster feature benchmark

2021-03-28 Thread Gao Xiang
Hi folks, The following shows the latest progress of EROFS big pcluster feature for the upcoming 5.13, note that big pcluster also enables inplace decompression to minimize extra page allocation and cache thrashing. Kernel: Linux 5.10-rc5 Testsuite: erofs-openbenchmark Testdata: enwik9

[PATCH v2 4/4] erofs: add on-disk compression configurations

2021-03-28 Thread Gao Xiang via Linux-erofs
From: Gao Xiang Add a bitmap for available compression algorithms and a variable-sized on-disk table for compression options in preparation for upcoming big pcluster and LZMA algorithm, which follows the end of super block. To parse the compression options, the bitmap is scanned one by one. For

[PATCH v2 3/4] erofs: introduce on-disk lz4 fs configurations

2021-03-28 Thread Gao Xiang via Linux-erofs
From: Gao Xiang Introduce z_erofs_lz4_cfgs to store all lz4 configurations. Currently it's only max_distance, but will be used for new features later. Reviewed-by: Chao Yu Signed-off-by: Gao Xiang --- fs/erofs/decompressor.c | 15 +-- fs/erofs/erofs_fs.h | 6 ++

[PATCH v2 0/4] erofs: introduce on-disk compression configurations

2021-03-28 Thread Gao Xiang via Linux-erofs
From: Gao Xiang Hi folks, When we provides support for different algorithms or big pcluster, it'd be necessary to record some configuration in the per-fs basis. For example, when big pcluster feature for lz4 is enabled, we need to know the largest pclustersize in the whole fs instance to

[PATCH v2 2/4] erofs: support adjust lz4 history window size

2021-03-28 Thread Gao Xiang via Linux-erofs
From: Huang Jianan lz4 uses LZ4_DISTANCE_MAX to record history preservation. When using rolling decompression, a block with a higher compression ratio will cause a larger memory allocation (up to 64k). It may cause a large resource burden in extreme cases on devices with small memory and a large

[PATCH v2 1/4] erofs: introduce erofs_sb_has_xxx() helpers

2021-03-28 Thread Gao Xiang via Linux-erofs
From: Gao Xiang Introduce erofs_sb_has_xxx() to make long checks short, especially for later big pcluster & LZMA features. Reviewed-by: Chao Yu Signed-off-by: Gao Xiang --- fs/erofs/decompressor.c | 3 +-- fs/erofs/internal.h | 9 + fs/erofs/super.c| 2 +- 3 files

[PATCH] erofs: add unsupported inode i_format check

2021-03-28 Thread Gao Xiang via Linux-erofs
From: Gao Xiang If any unknown i_format fields are set (may be of some new incompat inode features), mark such inode as unsupported. Just in case of any new incompat i_format fields added in the future. Fixes: 431339ba9042 ("staging: erofs: add inode operations") Cc: # 4.19+ Signed-off-by: