[PATCH v4 0/5] erofs-utils: mkfs: introduce multi-threaded compression

Yifan Zhao zhaoyifan at sjtu.edu.cn
Thu Feb 29 03:16:47 AEDT 2024


changelog since v3:
- remove unnecessary struct z_erofs_write_index_ctx, and add a
  helper z_erofs_mt_fix_index to fix extents->blkaddr before
  writing index
- rename: z_erofs_vle_compress_ctx -> z_erofs_compressed_segment_ctx
- rename: z_erofs_file_compress_ctx -> z_erofs_compressed_inode_ctx
- leave tryrecompress_trailing() unchanged as it's only used in
  ztailpacking scenario which is not supported yet  

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    |   1 +
 include/erofs/config.h      |   5 +
 include/erofs/internal.h    |   3 +
 include/erofs/workqueue.h   |  37 ++
 lib/Makefile.am             |   4 +
 lib/compress.c              | 703 +++++++++++++++++++++++++++++-------
 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             | 132 +++++++
 mkfs/main.c                 |  38 ++
 15 files changed, 877 insertions(+), 131 deletions(-)
 create mode 100644 include/erofs/atomic.h
 create mode 100644 include/erofs/workqueue.h
 create mode 100644 lib/workqueue.c

-- 
2.44.0



More information about the Linux-erofs mailing list