linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v1 0/5] Add threading support to e2fsprogs
@ 2021-01-14  0:27 Saranya Muruganandam
  2021-01-14  0:27 ` [RFC PATCH v1 1/5] Add configure and build support for the pthreads library Saranya Muruganandam
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Saranya Muruganandam @ 2021-01-14  0:27 UTC (permalink / raw)
  To: linux-ext4; +Cc: tytso, Saranya Muruganandam

This patch set adds the infrastructure to support threading to
libext2fs.  It makes the unix_io I/O Manager thread-aware.  Wang's
parallel bitmap code has been adapted to use the new threading
infrastructure.

The code has been tested with TSAN and ASAN built into gcc 10.2:

    configure 'CFLAGS=-g -fsanitize=thread' 'LDFLAGS=-fsanitize=thread'
    make clean ; make -j16 ; make -j16 check
    configure 'CFLAGS=-g -fsanitize=address' 'LDFLAGS=-fsanitize=address'
    make clean ; make -j16 ; make -j16 check

As I(tytso) needed to excerpt out some of the changes to generated patches in
"Add configure and build support for the pthreads", the full patch
series can be found in git:

git fetch https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git pthreads

Changes with V1:
Fix review remarks for "ext2fs: parallel bitmap loading".
Tested stat_mutex performance on instance with 60 CPUs and fragmented 3TB Local SSD.
No noticable contention seem for the stat_mutex.

Theodore Ts'o (4):
  Add configure and build support for the pthreads library
  libext2fs: add threading support to the I/O manager abstraction
  libext2fs: allow the unix_io manager's cache to be disabled and
    re-enabled
  Enable threaded support for e2fsprogs' applications.

Wang Shilong (1):
  ext2fs: parallel bitmap loading

 MCONFIG.in              |  12 +-
 aclocal.m4              | 560 ++++++++++++++++++++++++++--------------
 configure               | 213 ++++++++++++---
 configure.ac            |  24 ++
 debugfs/debugfs.c       |   6 +-
 e2fsck/unix.c           |   2 +-
 lib/config.h.in         |  83 +++++-
 lib/ext2fs/ext2_io.h    |   3 +
 lib/ext2fs/ext2fs.h     |   9 +
 lib/ext2fs/openfs.c     |   2 +
 lib/ext2fs/rw_bitmaps.c | 332 ++++++++++++++++++++----
 lib/ext2fs/test_io.c    |   6 +-
 lib/ext2fs/undo_io.c    |   2 +
 lib/ext2fs/unix_io.c    | 156 +++++++++--
 misc/dumpe2fs.c         |   2 +-
 misc/e2freefrag.c       |   2 +-
 misc/e2fuzz.c           |   4 +-
 misc/e2image.c          |   3 +-
 misc/fuse2fs.c          |   3 +-
 misc/tune2fs.c          |   3 +-
 resize/main.c           |   2 +-
 21 files changed, 1093 insertions(+), 336 deletions(-)

-- 
2.30.0.284.gd98b1dd5eaa7-goog


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-01-21 15:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-14  0:27 [RFC PATCH v1 0/5] Add threading support to e2fsprogs Saranya Muruganandam
2021-01-14  0:27 ` [RFC PATCH v1 1/5] Add configure and build support for the pthreads library Saranya Muruganandam
2021-01-14  0:27 ` [RFC PATCH v1 2/5] libext2fs: add threading support to the I/O manager abstraction Saranya Muruganandam
2021-01-14  0:27 ` [RFC PATCH v1 3/5] libext2fs: allow the unix_io manager's cache to be disabled and re-enabled Saranya Muruganandam
2021-01-14  0:27 ` [RFC PATCH v1 4/5] ext2fs: parallel bitmap loading Saranya Muruganandam
2021-01-14  0:27 ` [RFC PATCH v1 5/5] Enable threaded support for e2fsprogs' applications Saranya Muruganandam
2021-01-21 15:51 ` [RFC PATCH v1 0/5] Add threading support to e2fsprogs Theodore Ts'o

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).