From patchwork Fri Apr 18 01:59:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Davidlohr Bueso X-Patchwork-Id: 14056541 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 B4F4CC369CF for ; Fri, 18 Apr 2025 01:59:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D02FB6B02A2; Thu, 17 Apr 2025 21:59:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C8BD2280005; Thu, 17 Apr 2025 21:59:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A91106B02A4; Thu, 17 Apr 2025 21:59:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 8678E6B02A2 for ; Thu, 17 Apr 2025 21:59:39 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 7C83DB3265 for ; Fri, 18 Apr 2025 01:59:40 +0000 (UTC) X-FDA: 83345508120.11.233F11E Received: from dormouse.ash.relay.mailchannels.net (dormouse.ash.relay.mailchannels.net [23.83.222.50]) by imf30.hostedemail.com (Postfix) with ESMTP id 173D180004 for ; Fri, 18 Apr 2025 01:59:37 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=stgolabs.net header.s=dreamhost header.b=YmZSGrjf; dmarc=none; arc=pass ("mailchannels.net:s=arc-2022:i=1"); spf=pass (imf30.hostedemail.com: domain of dave@stgolabs.net designates 23.83.222.50 as permitted sender) smtp.mailfrom=dave@stgolabs.net ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1744941578; a=rsa-sha256; cv=pass; b=3Cncv1pR6U/WW0aAYiduDQ+k9Wl1FEeIHan+sBzW+sFqpL7YgrpUfsmwcr6HJWpkhjvs75 iz71bptX0SJ5EMn2D3OMFvDaspFdx4kPuN6w/tmH/htPpLkIV180IKa6Z97ENqtL27gKrk 58BWJvcVSv9tUV8QM/EUOGV/loijeJM= ARC-Authentication-Results: i=2; imf30.hostedemail.com; dkim=pass header.d=stgolabs.net header.s=dreamhost header.b=YmZSGrjf; dmarc=none; arc=pass ("mailchannels.net:s=arc-2022:i=1"); spf=pass (imf30.hostedemail.com: domain of dave@stgolabs.net designates 23.83.222.50 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=1744941578; 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=2JaAMscrug2FGAwbGl/h9oMw0eHDwe8tdi8SwLuHRGw=; b=uADgq09t/VwI/9QtjOJzqnMKDx+zzzQLHwMKJgHhATWycVHYYodCrsJJDfbGzXfBv3OSkI dhSLeOohPJL8AV6gVR4kA8YU6gCGcyqnsMChHgBcl021BYF1g+j1CV4o/85lljcKLdaJml nWRdMTMJr3vOHkhREPqICAffqvL7VsI= 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 8A71A23E1A; Fri, 18 Apr 2025 01:59:36 +0000 (UTC) Received: from pdx1-sub0-mail-a285.dreamhost.com (trex-5.trex.outbound.svc.cluster.local [100.109.60.146]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 2881523B7E; Fri, 18 Apr 2025 01:59:36 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1744941576; a=rsa-sha256; cv=none; b=1224Yog9/g03yVNhDlBDFE/0Hyk/B+JrQKgz/ZPtCgcOUSw/CDV9MtexRW+868b5zjgUnM LTy3XSH61CYUMb6WQgg/Ke/nK/brvI6waRmxiPrN2S+qxqYJ7XhR9d13TYR0uGkoZHLy1z nsUOnxbMdwB4WCz8TvWa6BFsZbJmHqy1oU+CblYsybcfuJNWUHr8OqssZM640C9jb4Q35T ND/b1mVgBCtUMUJsebMmE+QMdHp2pu6MOdA2+LgG/ywhBz/0UqkS+r7Dys11cz+5xdoK/B WrE/GVW2E/K/CtguVgs4su7zIlgOme1vg0yh6t4lS3Z4SvZ46fhukyjHHC/SBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1744941576; 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=2JaAMscrug2FGAwbGl/h9oMw0eHDwe8tdi8SwLuHRGw=; b=o5TA7zJDtpQNfp3RWNv6hV+kzTVIzZ3isMynpiA9NlPpklblcMKBuPikKvukbMff4URwST zg9qS588GrYl699Y76HKHmZP9kOrfLSD2rw5Y9mb/Xkgr2y6gnGGsclFCrX4/pM4RMZ1Yo pEGWEGiA4V4svtGzAkzRrPfAJF6uvdB15E1zS0Yq+KsFGfAKjkMmE92qGt0BFD6PGsjjap +4QHFXaiC0dLH81KAEycwUPl3mTA2j5GcnslSPCc2ylVVS4GyRTFkwOOEAApyQ2io2qoyr WsasbZDgCD3q7wb2N/H5cPWLVggrPMwYq+VWJFBh+h7T6jz7G0x5vauhT5BQ5g== ARC-Authentication-Results: i=1; rspamd-7bd9ff6c58-dhqhn; 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-Cold-Relation: 6c61228447797287_1744941576475_1157459792 X-MC-Loop-Signature: 1744941576475:204546122 X-MC-Ingress-Time: 1744941576475 Received: from pdx1-sub0-mail-a285.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.109.60.146 (trex/7.0.3); Fri, 18 Apr 2025 01:59:36 +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-a285.dreamhost.com (Postfix) with ESMTPSA id 4Zdycl1Nlyz88; Thu, 17 Apr 2025 18:59:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stgolabs.net; s=dreamhost; t=1744941576; bh=2JaAMscrug2FGAwbGl/h9oMw0eHDwe8tdi8SwLuHRGw=; h=From:To:Cc:Subject:Date:Content-Transfer-Encoding; b=YmZSGrjf8jPt/J19BQv5GZPl1g28pGIvNWKqy1j2sTGEvEThhx8B0MQ6bS284Eocs lkjvhxkqZvzRRhhAGLzDpvMrnzoP/QYj2VKErCD3BP4+uSkgVOdYTPNGP8S5BaKFhy ZNMI3GagZT3WXe5OXJvBeuW9pFZ1Idq/0s4wbguLzmKNFBDOsheQ/OMY69y4Xvj6nZ 1tuAvkf4YyroDuSAy23vswcxVMCWCX/x2f1ImKImmi5HNpZ390WS9jAZG8uujheG1s qyyyyIXUGkBHGbPsAUvP58/87KZDesCzyAnOfXbwnrzgAXyFY4274gkHTOQG2k4eWm h3V1Cf52hOC2Q== 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: Thu, 17 Apr 2025 18:59:17 -0700 Message-Id: <20250418015921.132400-4-dave@stgolabs.net> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250418015921.132400-1-dave@stgolabs.net> References: <20250418015921.132400-1-dave@stgolabs.net> MIME-Version: 1.0 X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 173D180004 X-Stat-Signature: mwdiw9hbzeasyg1e3egx5ccf55fiiic7 X-Rspam-User: X-HE-Tag: 1744941577-527791 X-HE-Meta: U2FsdGVkX1/9TrlR25JX3D4S2alcT/UcVkR2m/PyuvGWdwlBGgI63hC2wYKM1eNZo9fEAIVJDppCAWfP9IsaHMaTK54vd9FNb7gGxUQ+cKnSIqqTxpGOV6CpiDcwvRceFJwyeXYnUa73v7/iNKKX0c9RNaSy8mYUlLqAmga5F+hAZWkGwyJxl2W2jmE0hwzlAWAEiiCj+E1UR0KoiSkInADFBRap/vIzgB6+AWwi7i0c/1AKkqAYoFO9PgrKoFi8kmPJi6ebX22pCkp1LWKI+ac6K2YA/5KqdZDKxlAmTz+rjx9D98c3bQwMeay4Owg6Hcg2Wx5wYsL+ipuiav68phft//9/6A7ckh5Ab1AEBATAKRjl/PC2PAuC3l9lNKx/twNyC4fdlAH2IkDZqASQWQZhUR9UYN6wvgTZysh1/6wmpymfYibg5jrvlTdHCYI2ihqyJf/WmQYGloOOmUPdOYLhMzcyEaCxXilFqpTQFtQe3Jx+N3MNFDCYuHLZ/P0W8mqGDC2PZML0Lbe0I/ZLDW5XFS8Lw0Ud1VkJFiTcFy3tICXb1lieWTAflO2/xv/ptD1JCGXDPfrJM5I7LeeXQKNdTvG9ZkxBn4/yCcZCOGUCBUpf87Vfnrxu0fv8TRujg5he88vedabqKil5jZ9qnEN2d6GmDIo556qM8owC4B2PvJiT60pqwIiJjMmnXZ5p0GMY5OdKQmptwXyDvOkbCBKJzC/DGQu5BbRa1vRJ4Ls5KJJ1PnAEDZKo/k+n6YnfOjOcYS38XGQrbuARCP95KKV0lMYSfiEuLAELgduXLC4WbE6EpLLwmCa9d8M4tgOOWzkEY7DRg0qo6KB9r0YlWnnnSGEQupjYtFWaui5OlsaFGl02WYMOdttWAxSu+z/m7NDUDz2RY/4j9K6Ok9iL2Ay2e2pq8GbR8bug+RnM8/7fcjlEryQ88OHdus3nXCPxZMefucvbXvnpSzv2hWm 3ezNyfbP AH/np3VfI0J9EqB2wO0Ddp95lt/dvHuoNv7kYLF9OaUF51Btp46omqFau6ooW+8gBwx+/XNeEjUTi1lwXSmotO7UfpplG4P1fpFJCxZTBN2fnt4HFtc3I5rsoG46sNLKbg5R66GBpXIWMhSToDqmgk/PIpVumf3w9LG2DtrdJjmc7Hfx7F5paYw42mmzko97yCyflpDmTuz0FXlesO1JbUk72SApGe74P4NGxha41olx4xuS9nvuQuzoMsz0uIn47ZG+xTQ+fdWPUfKqzqg9euJhiFeoP+ZHpcZoXyxq2h9r09cNfd/ySwgwU7INXhXLPBihyM6b55XHM9TxpuLKK9VnVv9ZKsslRQI6/ZCQEKhPCxB20g9rS9FqqBZZJVGOlkppk20e/UpmCR2I= 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 Reviewed-by: Jan Kara Signed-off-by: Davidlohr Bueso --- fs/buffer.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c index 5b1d74c818e9..f8c9e5eb4685 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,7 +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)