Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp919281pxu; Fri, 4 Dec 2020 21:01:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJzAcqdipRxwc/btPpLFLML/F8qxs/j5BYPmFfvpVUkZaQS69sqWtk+3y3nrqbfg/MPFlpsB X-Received: by 2002:a17:906:55d0:: with SMTP id z16mr10024454ejp.466.1607144502113; Fri, 04 Dec 2020 21:01:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607144502; cv=none; d=google.com; s=arc-20160816; b=R3UOWxxiN0dMlusJVSbvyrO6BJ/fNQ81oX/RFeoMuGQSDdk1KaWFHHZXHR7ZzXgAtV SKupxwnJbXZfUxZxb1Ac50RUM2cMfl/Yi37v/KEKab9pUKi6WSXb0JEVp/yiDxKL7BB1 TWUlQqdCSA07oDMqU3ngitbd47mOHXdNg5V4L9WjsgHACb3YdF46E3EtrqIDKQa/4A/1 5qluwDLhfqIlSc/Z4sq3YQvg4XE7Qhy0Q2xSGHhrk29SWx+rOCf8311r2xWzj/IQQRLs Zibp7U6DgTdQwTiMSRDTkp0fZhO6Rp5LeTzBMZZ94/WCEW8TFf1zgse/sTj6aNMA0LyC aGVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=k3z9lebW9NWWsoa8q7+AkGKknZZgQvmOtAj+BrL1xx8=; b=hLZZg7tbkvQxF/b0tsbqdHy1AnyitXUCd8gzibNGD/1wIfKU/NxE3zT5BqHViiH0rM W5bql+dsMmKw4K9jo59+5SCYANWhxdPiWQNT5xJCtqEDxB28LhZ+QzS7KyAzSQng5+88 KTLBemViWp7l+ryLzP3wkFu7Olhqa7jkPB7gq0L1aKzskMUIeyvvrolUiOYLMFROkOcE 5YjaJSRljayNuC5rA0Uozy8u6jmVzp7s6EYJJnOgDwU0QkGHXavq/4JjdpOXR1caiZlu i93cUG3KMEiRp48kc1MYA9nrK02cNkvGq10ff9BysMJwU47WyUaWJ7hPQ075U6J/YFbY WeJQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k23si2607817ejk.521.2020.12.04.21.01.19; Fri, 04 Dec 2020 21:01:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727064AbgLEE7w (ORCPT + 99 others); Fri, 4 Dec 2020 23:59:52 -0500 Received: from outgoing-auth-1.mit.edu ([18.9.28.11]:50360 "EHLO outgoing.mit.edu" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726709AbgLEE7v (ORCPT ); Fri, 4 Dec 2020 23:59:51 -0500 Received: from callcc.thunk.org (pool-72-74-133-215.bstnma.fios.verizon.net [72.74.133.215]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 0B54wwpH001986 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 4 Dec 2020 23:58:59 -0500 Received: by callcc.thunk.org (Postfix, from userid 15806) id 7FC51420136; Fri, 4 Dec 2020 23:58:58 -0500 (EST) From: "Theodore Ts'o" To: Ext4 Developers List Cc: Saranya Muruganandam , Wang Shilong , adilger.kernel@dilger.ca, "Theodore Ts'o" Subject: [PATCH RFC 0/5] Add threading support to e2fsprogs Date: Fri, 4 Dec 2020 23:58:51 -0500 Message-Id: <20201205045856.895342-1-tytso@mit.edu> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org 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 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 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 | 486 ++++++++++++++++++++++++ configure | 814 ++++++++++++++++++++++++++++++++++++---- configure.ac | 24 ++ debugfs/debugfs.c | 6 +- e2fsck/unix.c | 2 +- lib/config.h.in | 351 +---------------- lib/ext2fs/ext2_io.h | 3 + lib/ext2fs/ext2fs.h | 9 + lib/ext2fs/openfs.c | 2 + lib/ext2fs/rw_bitmaps.c | 323 +++++++++++++--- 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, 1719 insertions(+), 496 deletions(-) -- 2.28.0