From patchwork Tue Apr 15 23:16:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Davidlohr Bueso X-Patchwork-Id: 14052923 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94C97C369AB for ; Tue, 15 Apr 2025 23:16:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CB4CE6B01F0; Tue, 15 Apr 2025 19:16:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BA498280001; Tue, 15 Apr 2025 19:16:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9A3CA6B01F4; Tue, 15 Apr 2025 19:16:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 70F006B01F0 for ; Tue, 15 Apr 2025 19:16:48 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 4FE5C121A14 for ; Tue, 15 Apr 2025 23:16:49 +0000 (UTC) X-FDA: 83337840138.25.171BAB8 Received: from siberian.tulip.relay.mailchannels.net (siberian.tulip.relay.mailchannels.net [23.83.218.246]) by imf25.hostedemail.com (Postfix) with ESMTP id EF59CA0002 for ; Tue, 15 Apr 2025 23:16:46 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=stgolabs.net header.s=dreamhost header.b=MNKB93FB; dmarc=none; arc=pass ("mailchannels.net:s=arc-2022:i=1"); spf=pass (imf25.hostedemail.com: domain of dave@stgolabs.net designates 23.83.218.246 as permitted sender) smtp.mailfrom=dave@stgolabs.net ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1744759007; a=rsa-sha256; cv=pass; b=NErpkve9Bp2gJgGmgKWZDpdpdRXJMcin3fmtYWQlKrrFSPYKSgq7B/HNMNpupFzXs22lnc 48x7NF2pTN6ReXvU8hy3xRj6PFTM2RbzuI5onjHiXaiLgNioBm9RYxrloMfEID5nUkC4T3 R4EbOCB49IDKPyO40EYy3/4oVdB56IM= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=stgolabs.net header.s=dreamhost header.b=MNKB93FB; dmarc=none; arc=pass ("mailchannels.net:s=arc-2022:i=1"); spf=pass (imf25.hostedemail.com: domain of dave@stgolabs.net designates 23.83.218.246 as permitted sender) smtp.mailfrom=dave@stgolabs.net ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744759007; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=uHREBisV1DDhdKY8B6xaTzgB1WkfIIV5PMPRwi7cLCg=; b=NimqW5yJ7Qwdq5bBWRx0LhjdZ1HSpNaCJ7E2fTxyHf1d4Ybnc4rDkHAUDCfHVOKXfF4tQs lVEDiAXn8L2ZlBzlDrknadgrZPyuq1KMY8rAFujJtz64plsnU/LKAKkGGIGeYEhmWBGbl9 26LG8LFRiX4RJrZpebSsCyg/+LppHE4= X-Sender-Id: dreamhost|x-authsender|dave@stgolabs.net Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id EC6892C38BA; Tue, 15 Apr 2025 23:16:45 +0000 (UTC) Received: from pdx1-sub0-mail-a273.dreamhost.com (trex-3.trex.outbound.svc.cluster.local [100.110.51.173]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 8BDD52C517B; Tue, 15 Apr 2025 23:16:45 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1744759005; a=rsa-sha256; cv=none; b=A5YBa6qqVAqi5HK1NVPY/z9YeSGUoedGVCD7dfFGlnj7AeQiLeoAkSLi7+WMng8iJXdXo8 9MgbWW8eKxOY71aMmbU2gJbgJL9V4wUmGNx+SBYl/ix74RTk3IEqBVhnfKiz2XyqrFPQYW 7kUHcjEgAmjvxkC8LlZlUEkb7tMEmu77yTyhv3TUfEVeq15nnhYRq0kT8pfs4KmUFd0F9V u8dLsuQudyGqE9sOWAfsRLXPwAxUkywLWf74qO08VdWVuz3s9i6vS+3hgcmmsdYBBcJxAd 3tc/UcCKMBFZUc5Ohe8sZ6iAnty3vM1svFGK2oITDqTUrXJWBkqZCNvXGQz9RA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1744759005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=uHREBisV1DDhdKY8B6xaTzgB1WkfIIV5PMPRwi7cLCg=; b=dBTIgFrxySGjHVFBz4J+O6wUEUWaH3vGAr86teKCXnIOdw+3OqcDC6a4iA6mtXp5rMADM5 /3NmvOjet25nqcGuOvWouHozYUn9C7XsEBkWsQ5oxJ62EKob2yhbpR4xwJgoyAnaKzeQVR ZXjfZSQLuJ10QPRHJ+YQAQwMslkMNqpHUq6N3nlfkucLu5HzgyaAJA/Z47KG96DBCmMujC uV0flEGYXQTVfjmVi3dAddtsN/bPIZonzO0uHgykSczHcNYzNpFI3YU13i7nnQyCAHKX/V dhQLe2AdT7dC45rKudssmcDs1X80E5gnkG5shMzTB/O3lu2qCT3AotHba7j2aA== ARC-Authentication-Results: i=1; rspamd-5dd7f8b4cd-4m6r4; auth=pass smtp.auth=dreamhost smtp.mailfrom=dave@stgolabs.net X-Sender-Id: dreamhost|x-authsender|dave@stgolabs.net X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|dave@stgolabs.net X-MailChannels-Auth-Id: dreamhost X-Tangy-Irritate: 42ddaa952653b5b1_1744759005864_3471668932 X-MC-Loop-Signature: 1744759005864:1886427043 X-MC-Ingress-Time: 1744759005864 Received: from pdx1-sub0-mail-a273.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.110.51.173 (trex/7.0.3); Tue, 15 Apr 2025 23:16:45 +0000 Received: from localhost.localdomain (ip72-199-50-187.sd.sd.cox.net [72.199.50.187]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dave@stgolabs.net) by pdx1-sub0-mail-a273.dreamhost.com (Postfix) with ESMTPSA id 4Zcg5m52GBz6g; Tue, 15 Apr 2025 16:16:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stgolabs.net; s=dreamhost; t=1744759005; bh=uHREBisV1DDhdKY8B6xaTzgB1WkfIIV5PMPRwi7cLCg=; h=From:To:Cc:Subject:Date:Content-Transfer-Encoding; b=MNKB93FB1rPUY2XJUD/TCQK/S/jnxwGI48Z8zGnQjymdXzKrs0r/t32sKKXfb8umN Ni8fqN3c2Mx16cUOrAMuyhz7EHU+vX3aGbKyEjE++OHM3jVhWHKpfQ0SMEj3idEd2K a6QymDXhWyj8rA3Q9HQKnMQqlX31vYw4e0AkxQ6kq+H6SrGLjO4hNgUqi4vlrs/0Ju 1CukRBbuvmBUA0ww0wv4XLpVbxQut6bOK9wo1YQv8/KQ/XV/jm3ECcqAlhpiPYfy1T c3zvrKYbhFSaIdEzQ7fnUNE2Xth0FWmvyfAFWX7U1+CuR9PA6d5l82QsPHcCRHNXce +sbW4crlsINbg== From: Davidlohr Bueso To: jack@suse.cz, tytso@mit.edu, adilger.kernel@dilger.ca, brauner@kernel.org Cc: mcgrof@kernel.org, willy@infradead.org, hare@suse.de, djwong@kernel.org, linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Davidlohr Bueso Subject: [PATCH 3/7] fs/buffer: use sleeping version of __find_get_block() Date: Tue, 15 Apr 2025 16:16:31 -0700 Message-Id: <20250415231635.83960-4-dave@stgolabs.net> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250415231635.83960-1-dave@stgolabs.net> References: <20250415231635.83960-1-dave@stgolabs.net> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: EF59CA0002 X-Stat-Signature: mbb1edgsstgkbhppki4dkw4q9zafk3br X-HE-Tag: 1744759006-342667 X-HE-Meta: U2FsdGVkX1/KBrXkzMx/TqDqTsxQx04BHjBpP7XYV7r+BkJSBCk0chlDSgrl/ZYuHUG0V3rz0Zb9DjgKImXmLwTLq99Vj25ceUxj6t9bv7TF+ePEUiXdGi+VRx9pLNMzEentxzX6awqSVGB1OtqvSBwfMkz4vHsAS31qt3mFjfH5yfv+6DD+iPn977dPrBPLsMOvfitUQVpSpqSAzEJ4t2fkI3LxIuIVcez89F1dQajL5MDSNbXLX9Yyx5744s3dG5IY2zGzoeGbJn11hxy9AKBb524F9Uxb4xQrPh/tFbs3+iJk+b+EdKGjZuH8PUfEOYBzsaVSBUdPVMwz31uoFvBD0/kaYMQpm1xN66JXVJq338vEmpa5YrbreomOPz+U/g7HcvRBCqf/HAc3PTkEQHWU0Flp1XG34wMhk1OtQ66hXmGFCaTxOL8Bp50trTxhILrQpem60sLQHRdkX/0iQRVDSfanH8TEX3znHwbHPOtw1fMWJ/Ntv0jLM/KN9GZ6LJyeS8Hclj5GoQf2N9bABMrSY+mx2SzS2HTYHghiy9Rx8jlM9fMqisSsT2x0c78xAvERi8N7k+51nrNNHPxFbkA3eYqf7MgqC4+Wehht7RJvErd83QFd8KsafiGg1g54iGNL7xPpTblr3LLF69n/yjcIFqenOLLEp0Da/S9+0/sBDjtj5q45aLnp5Fy8NXIRkd5XB6YAFwE5yPKteSr+mOWl3M/0SfA7pbAaJQZqR7UMTllqgWMLvC6hAHYUvw4Lkp+SDwtnAreMiKpyf94dt0Gb4uwl1b2TINfWV5cG9U8pAYRByqTRN29eMCkSrW667jVdL/dkIRfDrdzujc5m/VELqy2/tqC5CvHqrHyNQqrR+qQ+tNJqEtGIfCDSMijFinYpIvxFOxyWuCDRqPxjEs6oq6jzu3ZBwNhsacV2rqvBKCxayRxR0MwfYwYgQrhyiOTZuSCdvgnRtuUt7Fk AXv8w1L6 /G2+QWffCO+hgqN2sYdRKKdXBCw7bsh2W9MqxPBG2GWS+ajz1AJRZqtL7RIsK/yvtpXPx1vcSvpUb4a/X9bxzDqZSSLuBsFtGKN8h2YRXSaNHztGQrSUIVrvUteZCqxcvmV1AXGzehVom8JybOIyMjrpXa/bV+BR96yBaCbMyEpCjC3EVr30xIriLvBs+OohAeigl17GYwlsM25ZltZaQy5AFr9X3UGhGJO/NAdr//+HTUHdsY0ucVzva4hWvDhNMoUCrg4jTPDtSaumiIfg3Kksjz/4bwGnW99ctAaotn8PsjlwRJdktzhj7+Aub/+0om6KIr8OjBDlWSLJ47mPb4BLc+MG0MFDM1zf/IQd5IMtlEnsRwGybIQofDIbcHR3WcbCj7vA2JC5KN10= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Convert to the new nonatomic flavor to benefit from potential performance benefits and adapt in the future vs migration such that semantics are kept. Convert write_boundary_block() which already takes the buffer lock as well as bdev_getblk() depending on the respective gpf flags. There are no changes in semantics. Suggested-by: Jan Kara Signed-off-by: Davidlohr Bueso Reviewed-by: Jan Kara --- fs/buffer.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 2.39.5 diff --git a/fs/buffer.c b/fs/buffer.c index 64034638ee2c..f8e63885604b 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -658,7 +658,9 @@ EXPORT_SYMBOL(generic_buffers_fsync); void write_boundary_block(struct block_device *bdev, sector_t bblock, unsigned blocksize) { - struct buffer_head *bh = __find_get_block(bdev, bblock + 1, blocksize); + struct buffer_head *bh; + + bh = __find_get_block_nonatomic(bdev, bblock + 1, blocksize); if (bh) { if (buffer_dirty(bh)) write_dirty_buffer(bh, 0); @@ -1440,8 +1442,12 @@ EXPORT_SYMBOL(__find_get_block_nonatomic); struct buffer_head *bdev_getblk(struct block_device *bdev, sector_t block, unsigned size, gfp_t gfp) { - struct buffer_head *bh = __find_get_block(bdev, block, size); + struct buffer_head *bh; + + if (gfpflags_allow_blocking(gfp)) + bh = __find_get_block_nonatomic(bdev, block, size); + else + bh = __find_get_block(bdev, block, size); might_alloc(gfp); if (bh) --