linux/fs/erofs
Gao Xiang 386292919c erofs: introduce readmore decompression strategy
Previously, the readahead window was strictly followed by EROFS
decompression strategy in order to minimize extra memory footprint.
However, it could become inefficient if just reading the partial
requested data for much big LZ4 pclusters and the upcoming LZMA
implementation.

Let's try to request the leading data in a pcluster without
triggering memory reclaiming instead for the LZ4 approach first
to boost up 100% randread of large big pclusters, and it has no real
impact on low memory scenarios.

It also introduces a way to expand read lengths in order to decompress
the whole pcluster, which is useful for LZMA since the algorithm
itself is relatively slow and causes CPU bound, but LZ4 is not.

Link: https://lore.kernel.org/r/20211008200839.24541-4-xiang@kernel.org
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
2021-10-19 23:44:30 +08:00
..
compress.h erofs: get compression algorithms directly on mapping 2021-10-18 00:15:55 +08:00
data.c erofs: add multiple device support 2021-10-18 00:13:30 +08:00
decompressor.c erofs: remove the fast path of per-CPU buffer decompression 2021-10-15 00:14:26 +08:00
dir.c erofs: clean up file headers & footers 2021-06-08 00:41:24 +08:00
erofs_fs.h erofs: introduce the secondary compression head 2021-10-19 23:44:19 +08:00
inode.c erofs: decouple basic mount options from fs_context 2021-10-17 23:57:15 +08:00
internal.h erofs: introduce readmore decompression strategy 2021-10-19 23:44:30 +08:00
Kconfig erofs: add multiple device support 2021-10-18 00:13:30 +08:00
Makefile erofs: introduce multipage per-CPU buffers 2021-04-10 03:19:59 +08:00
namei.c erofs: add fiemap support with iomap 2021-08-19 00:13:43 +08:00
pcpubuf.c erofs: introduce multipage per-CPU buffers 2021-04-10 03:19:59 +08:00
super.c erofs: add multiple device support 2021-10-18 00:13:30 +08:00
tagptr.h erofs: clean up file headers & footers 2021-06-08 00:41:24 +08:00
utils.c erofs: clean up file headers & footers 2021-06-08 00:41:24 +08:00
xattr.c erofs: decouple basic mount options from fs_context 2021-10-17 23:57:15 +08:00
xattr.h vfs: add rcu argument to ->get_acl() callback 2021-08-18 22:08:24 +02:00
zdata.c erofs: introduce readmore decompression strategy 2021-10-19 23:44:30 +08:00
zdata.h erofs: clean up file headers & footers 2021-06-08 00:41:24 +08:00
zmap.c erofs: introduce the secondary compression head 2021-10-19 23:44:19 +08:00
zpvec.h erofs: clean up file headers & footers 2021-06-08 00:41:24 +08:00