erofs: rename per-CPU buffers to global buffer pool and make it configurable
authorChunhai Guo <guochunhai@vivo.com>
Tue, 2 Apr 2024 10:00:36 +0000 (04:00 -0600)
committerGao Xiang <hsiangkao@linux.alibaba.com>
Wed, 8 May 2024 09:12:49 +0000 (17:12 +0800)
commitf36f3010f67611a45d66e773bc91e4c66a9abab5
tree8eea1fa6dd42d314a15641fd422f7998cad69a05
parentcacd5b04e24c74a813c694ec7b26a1a370b5d666
erofs: rename per-CPU buffers to global buffer pool and make it configurable

It will cost more time if compressed buffers are allocated on demand for
low-latency algorithms (like lz4) so EROFS uses per-CPU buffers to keep
compressed data if in-place decompression is unfulfilled.  While it is kind
of wasteful of memory for a device with hundreds of CPUs, and only a small
number of CPUs concurrently decompress most of the time.

This patch renames it as 'global buffer pool' and makes it configurable.
This allows two or more CPUs to share a common buffer to reduce memory
occupation.

Suggested-by: Gao Xiang <xiang@kernel.org>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Signed-off-by: Chunhai Guo <guochunhai@vivo.com>
Link: https://lore.kernel.org/r/20240402100036.2673604-1-guochunhai@vivo.com
Signed-off-by: Sandeep Dhavale <dhavale@google.com>
Link: https://lore.kernel.org/r/20240408215231.3376659-1-dhavale@google.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
fs/erofs/Makefile
fs/erofs/decompressor.c
fs/erofs/internal.h
fs/erofs/pcpubuf.c [deleted file]
fs/erofs/super.c
fs/erofs/zutil.c