changelog since v5: - use memory buffer instead of tmpfile to store intermediate compressed data - re-strucutre the 5th patch
Gao Xiang (2): erofs-utils: add a helper to get available processors erofs-utils: lib: introduce atomic operations Yifan Zhao (3): erofs-utils: introduce multi-threading framework erofs-utils: mkfs: add --worker=# parameter erofs-utils: mkfs: introduce inner-file multi-threaded compression configure.ac | 17 ++ include/erofs/atomic.h | 28 ++ include/erofs/compress.h | 3 +- include/erofs/config.h | 5 + include/erofs/internal.h | 3 + include/erofs/workqueue.h | 35 +++ lib/Makefile.am | 4 + lib/compress.c | 551 +++++++++++++++++++++++++++++------- lib/compressor.c | 2 + lib/compressor_deflate.c | 11 +- lib/compressor_libdeflate.c | 6 +- lib/compressor_liblzma.c | 5 +- lib/config.c | 16 ++ lib/workqueue.c | 129 +++++++++ mkfs/main.c | 37 +++ 15 files changed, 750 insertions(+), 102 deletions(-) create mode 100644 include/erofs/atomic.h create mode 100644 include/erofs/workqueue.h create mode 100644 lib/workqueue.c -- 2.44.0