From nobody Sun Feb 8 20:26:20 2026 Received: from silver.cherry.relay.mailchannels.net (silver.cherry.relay.mailchannels.net [23.83.223.166]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DEAE9146593; Thu, 15 May 2025 17:40:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=23.83.223.166 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747330830; cv=pass; b=PmxQU8jBL4PjqUZh3xqDljNwZf1DN2YJoHDKGv1acNZ/DOXbD1xvNvOZBnjODupbha8lChkEjmf0WU76sx1oceGonuNq8oHtMhkKJQMrPxWUJEW3oV9Wk1xdilzrkQW5Jmx/V1NAcPgfbe4H6gib9yVwc+ZafW2fnDRqAuiBRt4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747330830; c=relaxed/simple; bh=3QdRH/Xwp5B9xckttKM+J35tFyTQOQ7YD4Oixg52R/M=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PESKbXZWuBcQrKrg+8IuykvDfVXM+w2bNWoTmLBOsL9dNtrtuaW4tvjbOdVje2p708Qopjj9ais8NLgYU0On4aONRyJExI67WWN/BNqGMptslTqEVrkpBJjALw0oJbkpD4FZLvhINB6apfua5ubojnkkbhyCL7ewRfJ2N/LenRA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=stgolabs.net; spf=pass smtp.mailfrom=stgolabs.net; dkim=pass (2048-bit key) header.d=stgolabs.net header.i=@stgolabs.net header.b=d6MUmXIi; arc=pass smtp.client-ip=23.83.223.166 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=stgolabs.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=stgolabs.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=stgolabs.net header.i=@stgolabs.net header.b="d6MUmXIi" 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 C2E592C279B; Thu, 15 May 2025 17:40:21 +0000 (UTC) Received: from pdx1-sub0-mail-a272.dreamhost.com (100-112-107-83.trex-nlb.outbound.svc.cluster.local [100.112.107.83]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 334832C33E9; Thu, 15 May 2025 17:40:21 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1747330821; a=rsa-sha256; cv=none; b=mk384z56yzkRha7K2Kl/R++SkFtPvQfwvrOjJIBZk3k8r+AA/HQr4RVT/OYu/ac04Ro0Ph 3QirFBLiKtUU5GzJpTqGlQzrKL4goIamFCrt0YnbEfHHAbSsyuGRXMFZgwEaRkm0rkN4yt CcqFHWIrYisGKwJ19O4VtlCPkVCkDBsUdZniBpqaXtCTdJrCt8defkB5HVulrZEOilfYng mb9vbwSwgNPavJpkJ8/XgfiLUDB+cxZ3HfSOHY9roUz8KsJ47PYGToHWvlS2JiXkbu/ALB FqOXkZi61Zqs7s3NxNos0j0cay8YueV0IS4dGbgZm4ZSEY8fn8gdT8LUBpQ1GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1747330821; 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=z2K3h8DtdtYAr0P/C5Y1cu0vq9ldHY8qjqE9Mw3c1yM=; b=l5sttM/mQI8Wl2CKxTxGzqGkayxeuh3qB8qaMVXaXhduQsOai7agQzZd3PbPuWMh3VhTRJ 8xTgqxs70eBXddf01mi5yAYGr6tUNjewVmgqwOwYKFQw2jqS/5Dqlt+qudxgS1Jt/+MwcH ZScBWjJsy1HOVZLATB4nzt/101If/IIe58aXF6Wc4uzJ66pjTwwhmiI2swZVLlcALt8psy UEDUlvxxSc6vnWk0mXCSV/IgtqYm+Z/+wcIwOTEQTdopSGEgOYQwnSvZJ9H/vemJUplSmh 10f186bCKMUp+eRg77vEayvsPMJknkQVdhJ2w+DbFZGoYPdjkCO19bYWLpl5sQ== ARC-Authentication-Results: i=1; rspamd-5dcf5fb4c6-pd69g; 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-Plucky-Coil: 2cb33266341beb2f_1747330821593_1556686013 X-MC-Loop-Signature: 1747330821593:4255569526 X-MC-Ingress-Time: 1747330821593 Received: from pdx1-sub0-mail-a272.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.112.107.83 (trex/7.0.3); Thu, 15 May 2025 17:40:21 +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-a272.dreamhost.com (Postfix) with ESMTPSA id 4ZyyCm3jRvz6x; Thu, 15 May 2025 10:40:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stgolabs.net; s=dreamhost; t=1747330821; bh=z2K3h8DtdtYAr0P/C5Y1cu0vq9ldHY8qjqE9Mw3c1yM=; h=From:To:Cc:Subject:Date:Content-Transfer-Encoding; b=d6MUmXIixeqCYdXU2OeVbwE8vqTd4bXERn1FFN+vYngW8q+yNQzaAIloX8a3lbsRh IHAgUFHlb3xJFmw++S2PQlD3xQW99hQfS1L65fDh0BDeb7Ke6CnKiFaIYAXae5Jclu z/fcCqOl1xQMgggt7jiLBsZliYldQk0yC27ZVabgy5M0+4CYI6iOaHBTDzlVSj4MYe OSY4jc4CkzJmgxCPu2nElKrxTBrmoZdjVridzqCRS9mVvsX0XD7PFjVjvLJuq+Wqlt uNkRjQwL8WOTcswOeThhPP4rK6uikU63++w30EKfI3ulPZnlYCZ6uMus13iDEhp/Rl s+dw6n72f30TQ== From: Davidlohr Bueso To: brauner@kernel.org Cc: jack@suse.cz, viro@zeniv.linux.org.uk, mcgrof@kernel.org, dave@stgolabs.net, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/4] fs/buffer: use sleeping lookup in __getblk_slowpath() Date: Thu, 15 May 2025 10:39:22 -0700 Message-Id: <20250515173925.147823-2-dave@stgolabs.net> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250515173925.147823-1-dave@stgolabs.net> References: <20250515173925.147823-1-dave@stgolabs.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Just as with the fast path, call the lookup variant depending on the gfp flags. Signed-off-by: Davidlohr Bueso Reviewed-by: Jan Kara --- fs/buffer.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/buffer.c b/fs/buffer.c index b8e1e6e325cd..5a4342881f3b 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -1122,6 +1122,8 @@ static struct buffer_head * __getblk_slow(struct block_device *bdev, sector_t block, unsigned size, gfp_t gfp) { + bool blocking =3D gfpflags_allow_blocking(gfp); + /* Size must be multiple of hard sectorsize */ if (unlikely(size & (bdev_logical_block_size(bdev)-1) || (size < 512 || size > PAGE_SIZE))) { @@ -1137,7 +1139,10 @@ __getblk_slow(struct block_device *bdev, sector_t bl= ock, for (;;) { struct buffer_head *bh; =20 - bh =3D __find_get_block(bdev, block, size); + if (blocking) + bh =3D __find_get_block_nonatomic(bdev, block, size); + else + bh =3D __find_get_block(bdev, block, size); if (bh) return bh; =20 --=20 2.39.5 From nobody Sun Feb 8 20:26:20 2026 Received: from butterfly.birch.relay.mailchannels.net (butterfly.birch.relay.mailchannels.net [23.83.209.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E60338F6E; Thu, 15 May 2025 17:47:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=23.83.209.27 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747331270; cv=pass; b=qsEOQaiY+mhaWKcv+va0Bzgt9LVk7F9LK/dPnH8lZSdWKC6TEhm3hg6cV6mZkdoDwihQdxXZ4K8jMTlUG3+bu1n0gq/3nm41RXO82PcmLFCIP7OODHmLyJlcnheN5puez+V+D8gF0soVdTLbxgNKq45NpKqhGJ6uELFsr/fthis= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747331270; c=relaxed/simple; bh=1ZLqXLN+0CtA7lSqoU4+j+ku98B1aqVaDuag9S87Eb4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=nvujlRQ/5//zfb8gHoExdc4IBnAwr7kU2CKNPwQMFlaq5IJ/GgVkc/Qpny2N2v6p2oK648wI/+8g6n4/PNVunLzgbTbyOc5+NkJnPALPoYI9AjfELBfusg7CIOXWe8fR5loyNEPf6vb+hqj6C8DbNLz1CMPlrsPa+34xG7e4SsQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=stgolabs.net; spf=pass smtp.mailfrom=stgolabs.net; dkim=pass (2048-bit key) header.d=stgolabs.net header.i=@stgolabs.net header.b=mtspwCnm; arc=pass smtp.client-ip=23.83.209.27 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=stgolabs.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=stgolabs.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=stgolabs.net header.i=@stgolabs.net header.b="mtspwCnm" 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 A386F8C2627; Thu, 15 May 2025 17:40:22 +0000 (UTC) Received: from pdx1-sub0-mail-a272.dreamhost.com (100-112-106-235.trex-nlb.outbound.svc.cluster.local [100.112.106.235]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 4141F8C41AF; Thu, 15 May 2025 17:40:22 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1747330822; a=rsa-sha256; cv=none; b=WdNGt5ZF9N5tquLkvrMkKU8s4UI+DP3l93muOO4Ulq0kmVvMVrAHFSVIIDXbudirnY3kLV OzGqRekSL84Vsnivkz0Q4p7Wqnc0OaT5UQoESlvOllk8JKm9bCGvuUfK3dHk/kDxRKxnTu 3EtDVtknNZDXljo26ByBGPiJj5pzMUsJOKgEtEvqOuATbWmR3mEATn6CSprleHawDuFY6R Rth5RWI8TqatjibMScC6aTriuk3F7tSbgntK5fqELsCs6hncXUHPuJLqYssLn54v4Vi58S FrW/9niSGJYqlFkCnXUmVF1I8Uec+KPv1GZDNPnmIpXckHq03YKUmxOzWNLj0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1747330822; 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=PUwJlI501A+YEcVb8tIq6C49fh9kJVYJGRjvv+65zK0=; b=306Mgf+u6zhlgAYYOap0lz2nZEM3sAFGqlF98L91Rmg82tPZdcQx2gjyYxO1HRs0Xl1WDi MIBEzHkcAc+vZVhfrfQQNZNaTBMTBOhJwcKVxE678LgeSGDsaEOAjilYghUJlnEWTq9GJE iLfrDnIpANfQDe5tMc1w5em6k1ygQQ7X/jKbliqO9/AZhVb9ivL9rDs7mnNie3Fr8bUi2H 7M8hpz1aGrnc+t/Y4d1vQitBMuqeb19GuFCf8yaqyxMpfzrpGN4oY0F8AVkAjrFyDM+0QI QkJgwTYTMXkBUVOGCMUln8zWldNktiPWOJeJnAxCUeGm3rMJXyxTV3a6kokC/g== ARC-Authentication-Results: i=1; rspamd-5dcf5fb4c6-p876r; 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-Eight-Fearful: 077927b01f83cd5a_1747330822542_926751560 X-MC-Loop-Signature: 1747330822542:4167291504 X-MC-Ingress-Time: 1747330822542 Received: from pdx1-sub0-mail-a272.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.112.106.235 (trex/7.0.3); Thu, 15 May 2025 17:40:22 +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-a272.dreamhost.com (Postfix) with ESMTPSA id 4ZyyCn1lv9zFM; Thu, 15 May 2025 10:40:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stgolabs.net; s=dreamhost; t=1747330822; bh=PUwJlI501A+YEcVb8tIq6C49fh9kJVYJGRjvv+65zK0=; h=From:To:Cc:Subject:Date:Content-Transfer-Encoding; b=mtspwCnm+xgC/0SYQKaOO6/JYsn40OYh9VcLPGIIBmJKGof2kze6kq62rFdkk3H0G PgczgoW/E+jAXpB8KhaEEJQg+nHkKM0LVpxd3Hp1Rj3aOijUSO4q0PlFTm0PHEINiR 4f6OjE/Pd44jKHWvFELu+hptMuJP/fFjS8xXigCGuNAbGNBUG1xiWwI15AwIIKNv7c zExIoFxszYpcvJhTCsN7oY5+9WvtD0Q20ymd1DWmFZgBbcYpXblX89Ulra9uBQJ/J2 TkZi6x6T150/g36/QU4tzXgzWbWKS8bl56iWMt0Rk3MGbuzVoXDnzSbv5psaJ0Gayp 2IOdmHLgv7kwQ== From: Davidlohr Bueso To: brauner@kernel.org Cc: jack@suse.cz, viro@zeniv.linux.org.uk, mcgrof@kernel.org, dave@stgolabs.net, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/4] fs/buffer: avoid redundant lookup in getblk slowpath Date: Thu, 15 May 2025 10:39:23 -0700 Message-Id: <20250515173925.147823-3-dave@stgolabs.net> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250515173925.147823-1-dave@stgolabs.net> References: <20250515173925.147823-1-dave@stgolabs.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" __getblk_slow() already implies failing a first lookup as the fastpath, so try to create the buffers immediately and avoid the redundant lookup. This saves 5-10% of the total cost/latency of the slowpath. Signed-off-by: Davidlohr Bueso Reviewed-by: Jan Kara --- fs/buffer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c index 5a4342881f3b..b02cced96529 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -1139,15 +1139,15 @@ __getblk_slow(struct block_device *bdev, sector_t b= lock, for (;;) { struct buffer_head *bh; =20 + if (!grow_buffers(bdev, block, size, gfp)) + return NULL; + if (blocking) bh =3D __find_get_block_nonatomic(bdev, block, size); else bh =3D __find_get_block(bdev, block, size); if (bh) return bh; - - if (!grow_buffers(bdev, block, size, gfp)) - return NULL; } } =20 --=20 2.39.5 From nobody Sun Feb 8 20:26:20 2026 Received: from rusty.tulip.relay.mailchannels.net (rusty.tulip.relay.mailchannels.net [23.83.218.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA9C619FA93; Thu, 15 May 2025 23:13:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=23.83.218.252 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747350824; cv=pass; b=lbE2t972A9I5gGeLvmsZMXw+8/KXmJK4IxF1PBSWDhkT7DMr7SkzcVqUkOdny6geIdbB76wH3f9OH8PmgXfNqiqZdBBZw6hL2bzqwzieyPMFTypY9iiBY/q3oB0SGtgilBfwDhi1MsUmIMkvikX3ZDBblI+v/IrX9Fuz2tTewK8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747350824; c=relaxed/simple; bh=ZCGkHhXwVQRnTOe+lNrHq7OfguE4bhlkiEfGU59hepA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=myMP+Vv8Bd9qjJBmGuD2n3ij1KHlwV2AgahSwIelAPTGYSSPtQ7wpveevwLQNmLF83lVOGwlALqACOZrpXlxNjYQOJ8doLSzdHUPaKx0MqJ3WvZ1f696dNeVbO3OgLXeOc+uvdIbNWdNSVfjmtTeSuCZ5NhIF9ym73fLutD96Gc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=stgolabs.net; spf=pass smtp.mailfrom=stgolabs.net; dkim=pass (2048-bit key) header.d=stgolabs.net header.i=@stgolabs.net header.b=BpSzRLie; arc=pass smtp.client-ip=23.83.218.252 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=stgolabs.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=stgolabs.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=stgolabs.net header.i=@stgolabs.net header.b="BpSzRLie" 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 7BF1823A22; Thu, 15 May 2025 17:40:23 +0000 (UTC) Received: from pdx1-sub0-mail-a272.dreamhost.com (100-112-106-193.trex-nlb.outbound.svc.cluster.local [100.112.106.193]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 1AF6A239CB; Thu, 15 May 2025 17:40:23 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1747330823; a=rsa-sha256; cv=none; b=KGd2MQRzAc3Jw5QNi3ppX3rPip8yx1f4vyQZ4mR7SN1ugv3rN6yUB+8ugG7cIvMlJuyl3K 7mDXD5GjTABQP+V2wc8Mf8pp9RsdJ3vKQVrbS5Ly5v4LKVjrmj9OciKPAbS9J55oV07OVP jKyvlZMNN5WaAvayv9Bz+EQlvX+i2s+w204ocx2JgSD22f28AfKs1NvSW/rVNKURh4b8/B 1ijfOWJlZxSF9tHOs+KEKzxnQXtx0c53YcMEF29q/rofuUXsT4jKxgJTViDgkkTu/lyVS8 tosLDsGSP5n96GZUDdvyJFmWQpvkVTGhvKhDoHxVnOBV8BB7J4iKH/8BBQoD2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1747330823; 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=DiqDaihEdOkReJztOtQt4hmcT0IfYIVzd6AdHQkx+ic=; b=4hUFnvOIvLNXA5/WSLRVRo21X5L8fspegmXcSgY5swKtG64c+2olcK+z1JTylUhBYIaPOl tDvoMVcLusQI9CspzdT99szpeAfUG+MeClcF+hf8J7XFKxk5rk/mqR+wYBilKW1/X7AF1R oGALbWD0Aa6AWeHTlZ50PRCEsYqleJxdnG2irIfc2r9lgmhhT28a1bXROEJ325AZKyynuo 44u296J+uk/1yta5lG4zqJ8CuKI4Iol3gjAlPbT+Oh3RITfU6qAYHBf76fS/k/3hxOKaLD AvKlkisJqsoel0X1bZ8KGatSYsFvd2lMff7F2WE9Xd/uEIjd5KTiqBxsNtpESA== ARC-Authentication-Results: i=1; rspamd-5dcf5fb4c6-72pgw; 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-Tank-Illustrious: 1c6d0da64ed65452_1747330823378_3902456520 X-MC-Loop-Signature: 1747330823378:4084077714 X-MC-Ingress-Time: 1747330823378 Received: from pdx1-sub0-mail-a272.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.112.106.193 (trex/7.0.3); Thu, 15 May 2025 17:40:23 +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-a272.dreamhost.com (Postfix) with ESMTPSA id 4ZyyCp2DbgzCS; Thu, 15 May 2025 10:40:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stgolabs.net; s=dreamhost; t=1747330823; bh=DiqDaihEdOkReJztOtQt4hmcT0IfYIVzd6AdHQkx+ic=; h=From:To:Cc:Subject:Date:Content-Transfer-Encoding; b=BpSzRLieZbbTctjSokCrpdQ/huoCytneFWSaI9x3FPrQVAcMNEhS86y8FUwKnTrWb 8fkhdFwKCDJr8J5PXh6hsnMlMrIFK/gb4NTavXUmOsh5x70hAi7h8wwwLVU34XAEcw bMtNfXohGs/wC/Efqv3mr3gs5Zn1ufpuF9icpFpdigBt2Ixi7YvttoSOBIENLh6zph /7h/61Suk4pUWNWal2LhB6sKT8uHLzsl4vqB/e2SvctvHccsMiU9xvDIEu9K0/9PlS V35DA/g500EtYHauGLlzqOMfrNL5rLGbIIjA+2qSXprPUExndouoavDSpfXIAQZoIp WT0qH76MQ7/Sw== From: Davidlohr Bueso To: brauner@kernel.org Cc: jack@suse.cz, viro@zeniv.linux.org.uk, mcgrof@kernel.org, dave@stgolabs.net, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/4] fs/buffer: remove superfluous statements Date: Thu, 15 May 2025 10:39:24 -0700 Message-Id: <20250515173925.147823-4-dave@stgolabs.net> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250515173925.147823-1-dave@stgolabs.net> References: <20250515173925.147823-1-dave@stgolabs.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Get rid of those unnecessary return statements. Signed-off-by: Davidlohr Bueso Reviewed-by: Jan Kara --- fs/buffer.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c index b02cced96529..210b43574a10 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -297,7 +297,6 @@ static void end_buffer_async_read(struct buffer_head *b= h, int uptodate) =20 still_busy: spin_unlock_irqrestore(&first->b_uptodate_lock, flags); - return; } =20 struct postprocess_bh_ctx { @@ -422,7 +421,6 @@ static void end_buffer_async_write(struct buffer_head *= bh, int uptodate) =20 still_busy: spin_unlock_irqrestore(&first->b_uptodate_lock, flags); - return; } =20 /* @@ -1684,7 +1682,6 @@ void block_invalidate_folio(struct folio *folio, size= _t offset, size_t length) filemap_release_folio(folio, 0); out: folio_clear_mappedtodisk(folio); - return; } EXPORT_SYMBOL(block_invalidate_folio); =20 --=20 2.39.5 From nobody Sun Feb 8 20:26:20 2026 Received: from slateblue.cherry.relay.mailchannels.net (slateblue.cherry.relay.mailchannels.net [23.83.223.168]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 859BD258CD8; Thu, 15 May 2025 17:40:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=23.83.223.168 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747330832; cv=pass; b=YHP2kn4rF74CtQH61+dWvDhp12/V2YtdcVcXDSXL8vL0H1aXhMbdoLwZ7jJoyVxF4dHQUYnzn133NxN7nL3yRKe1Vk/WcMBnX3hnU9qR69AXOzittVEMs9CYh9KEtgYJm0GQdJo3XBtT9AeC6q5U6KJaTS41LKXWe9yCI8zQIHA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747330832; c=relaxed/simple; bh=nIQGRX6UAtGnH+6wMi7KPiX9z3GVkhYEGLi9WOg8CGw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=KsfYfIe9+sSHPTB915sdBm1l0fX63o3K9vxb3AdfTElVv+0RDIuBsQdmjiLuqv95WKiyHrI+4P7rIpsRdxt4BltW1r42Wbfcgfp2NnvmqI3Ltwr8FM7lVPGUvlwu+GFB6ItMDYjEd3GTayvMi7qvS5/9lomdMybNsGu9ilTqwsU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=stgolabs.net; spf=pass smtp.mailfrom=stgolabs.net; dkim=pass (2048-bit key) header.d=stgolabs.net header.i=@stgolabs.net header.b=qCH8gG+U; arc=pass smtp.client-ip=23.83.223.168 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=stgolabs.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=stgolabs.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=stgolabs.net header.i=@stgolabs.net header.b="qCH8gG+U" 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 3DF1225138; Thu, 15 May 2025 17:40:24 +0000 (UTC) Received: from pdx1-sub0-mail-a272.dreamhost.com (trex-green-1.trex.outbound.svc.cluster.local [100.119.71.126]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id C12902515B; Thu, 15 May 2025 17:40:23 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1747330823; a=rsa-sha256; cv=none; b=39M/fkEUYW5OXjo7JxwHwRPyxRqAFYswUUvjnidFL0vkorQIlDu2Rzw7lqt0W4rhtQjawO +MBIUgZg+ES1szvVAT7DD5ziJNLNo9XnhxgH6p11zqhxiHX8RlVdVdw/hTT9Jv+1OLvYnB Xi3N5C5KzieFrYdQa3C5rlQ9jjfmrZpBoMpGu+o0kgII8OxystDpkDIWjKEg+xh5UOrBqY Ww0XMaLaHmYryMRI0WXPAh96Dc2vKNo79VHL02D+FuZayV9egfq9qvy5vE8Pa7imLs690l idalcmWO3vCIx2iTsHEt+V25dvcTZJ5Wl1G1So2XVjcTIB+jceOrYZwYPw0lmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1747330823; 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=wwgNvKmxgKM/DoKzTas8oxSOF7Xy+ypxu8y3KI5VZHU=; b=F88/CLAV7s+0/Bi61JW3UBu8OLFF0L4xGuY4ZLM5aoB5C+2UUsCg4iqO+4gCO+OeyPZjcA 1gMgM0POLy2659Dubr+Y4mmkNjK4LM7BG7bo6zXBqocrrMc6hA0bcpM1+j5Epo4J5igWN+ n7UHyikDdQK1jW53PYU+rw0ZwPGoHLIo0cumDqaWZx3DpEjTL7CIXx/J7ZEgPM3pxLdRTD OnAZi0yRcRGJjapFLhNCzXP2SROhB2zvw1wHNOytmoLn8Y9Dg8ZSMdJLQoWM/zbiz5/uBk IemGVFtB/doNkSmwbdibZ86jnC9am3/BuVCwQtbvtM2lbXA7QfwknV6DUaEiig== ARC-Authentication-Results: i=1; rspamd-57f676fcfb-gcktm; 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-Scare-Zesty: 71f35adf4cefdf28_1747330824122_2458218250 X-MC-Loop-Signature: 1747330824122:1993011062 X-MC-Ingress-Time: 1747330824122 Received: from pdx1-sub0-mail-a272.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.119.71.126 (trex/7.0.3); Thu, 15 May 2025 17:40:24 +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-a272.dreamhost.com (Postfix) with ESMTPSA id 4ZyyCq0r8pz6x; Thu, 15 May 2025 10:40:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stgolabs.net; s=dreamhost; t=1747330823; bh=wwgNvKmxgKM/DoKzTas8oxSOF7Xy+ypxu8y3KI5VZHU=; h=From:To:Cc:Subject:Date:Content-Transfer-Encoding; b=qCH8gG+UrfkQHLT/ItnCsdJzsrkMYFRuQxjDMbhGyLslquz6nqRkUKU8HdCdGx7/7 MtHcGcrSi7F1QsGZ9/28QxLqGLarKVtm/MBRj4vOUNrJHtMCoKazxYqTr50PLRl5Y1 VI+fL/wv7DlKMWaHR4hBz7oq/inbxh/Dtc2hfIApg6TVisfFaAeFoY9FDJsgdzKDFO IcEw1zfLq32jn3fcPXbj+9MjFPg+KUPuWBn9PludqsuxeqBMk2TE2knOv7MkY79k+q mF3lB+NeAQMO0F0xibHf0BuLEy8F7ovoIPgKyVKBz8ZvODEMq6wqwkJZ0oylPEX7bJ mD0Oxbo1bVCJA== From: Davidlohr Bueso To: brauner@kernel.org Cc: jack@suse.cz, viro@zeniv.linux.org.uk, mcgrof@kernel.org, dave@stgolabs.net, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] fs/buffer: optimize discard_buffer() Date: Thu, 15 May 2025 10:39:25 -0700 Message-Id: <20250515173925.147823-5-dave@stgolabs.net> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250515173925.147823-1-dave@stgolabs.net> References: <20250515173925.147823-1-dave@stgolabs.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" While invalidating, the clearing of the bits in discard_buffer() is done in one fully ordered CAS operation. In the past this was done via individual clear_bit(), until e7470ee89f0 (fs: buffer: do not use unnecessary atomic operations when discarding buffers). This implies that there were never strong ordering requirements outside of being serialized by the buffer lock. As such relax the ordering for archs that can benefit. Further, the implied ordering in buffer_unlock() makes current cmpxchg implied barrier redundant due to release semantics. And while in theory the unlock could be part of the bulk clearing, it is best to leave it explicit, but without the double barriers. Signed-off-by: Davidlohr Bueso Reviewed-by: Jan Kara --- fs/buffer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c index 210b43574a10..f0fc78910abf 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -1616,8 +1616,8 @@ static void discard_buffer(struct buffer_head * bh) bh->b_bdev =3D NULL; b_state =3D READ_ONCE(bh->b_state); do { - } while (!try_cmpxchg(&bh->b_state, &b_state, - b_state & ~BUFFER_FLAGS_DISCARD)); + } while (!try_cmpxchg_relaxed(&bh->b_state, &b_state, + b_state & ~BUFFER_FLAGS_DISCARD)); unlock_buffer(bh); } =20 --=20 2.39.5