From mboxrd@z Thu Jan 1 00:00:00 1970 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 B1173C83F03 for ; Wed, 9 Jul 2025 11:06:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 50C556B00AF; Wed, 9 Jul 2025 07:06:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4E4536B00F0; Wed, 9 Jul 2025 07:06:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3FAF46B00B9; Wed, 9 Jul 2025 07:06:07 -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 277918D0001 for ; Wed, 9 Jul 2025 07:06:07 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id D1B9FB619B for ; Wed, 9 Jul 2025 11:06:06 +0000 (UTC) X-FDA: 83644446732.27.18E23CB Received: from fout-b2-smtp.messagingengine.com (fout-b2-smtp.messagingengine.com [202.12.124.145]) by imf25.hostedemail.com (Postfix) with ESMTP id 9F0EAA0016 for ; Wed, 9 Jul 2025 11:06:04 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=bsbernd.com header.s=fm1 header.b=lyUI3kYA; dkim=pass header.d=messagingengine.com header.s=fm2 header.b="K JSOIKa"; dmarc=pass (policy=none) header.from=bsbernd.com; spf=pass (imf25.hostedemail.com: domain of bernd@bsbernd.com designates 202.12.124.145 as permitted sender) smtp.mailfrom=bernd@bsbernd.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752059164; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6SrbkzQSffAn6GLdW7az5VaVu16+GjjLPlAkmwc3Z24=; b=uNwHji8sYHwiz3GqWGq22Q20hgxOOPeAIT3U/WH/ZQMXrhEg6hCvtqZC0V1vu86BoPggzJ bePilFjjRo4CEWKgiYg2Vo77pX7uWH4nbR11UFzTxrrO6BJ7k+/V67peSEMaRy21Q3+Nvh B31bXciJ7dQf+ytipD0BIW0SKWC7lck= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752059164; a=rsa-sha256; cv=none; b=WfsyR0ufJuwXLCW+J0wcoiI4ySUbekKQ72+Nm/+lTdUvbh+JvYFg8EPi2vbdjEeJzkaRyp O8C2aSI57MBA+RmxPbE/mxlXamPe76f9YGsU3D3Yc/WcoAnTffNX/tVMiov693Xsc5yzmp WUUAHLEssof/B4lQT25pYC1+FwEiz5A= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=bsbernd.com header.s=fm1 header.b=lyUI3kYA; dkim=pass header.d=messagingengine.com header.s=fm2 header.b="K JSOIKa"; dmarc=pass (policy=none) header.from=bsbernd.com; spf=pass (imf25.hostedemail.com: domain of bernd@bsbernd.com designates 202.12.124.145 as permitted sender) smtp.mailfrom=bernd@bsbernd.com Received: from phl-compute-04.internal (phl-compute-04.phl.internal [10.202.2.44]) by mailfout.stl.internal (Postfix) with ESMTP id A9C191D001A4; Wed, 9 Jul 2025 07:06:03 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-04.internal (MEProxy); Wed, 09 Jul 2025 07:06:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsbernd.com; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1752059163; x=1752145563; bh=6SrbkzQSffAn6GLdW7az5VaVu16+GjjLPlAkmwc3Z24=; b= lyUI3kYANckETbhM0x1IyR4tfMI/281JT7O+LXEzb9Dv8eNFE4l/FWlu6ktVcTPD jva6zZErMlQX11FGrbyZTN+4pH7UrXRd7nJbsc8G2ierUhcBZGi+q03lVNwDBFkB SzM7LppuQB1MAb382kE2TwLoQNbku1OryLfCu3bEx9+N50bz1jUdLJ2445AEmrQG k9FOPikbzVN5kIEsTN9pVTH+h9Q3gkoyAzCatoxHxwfij13lpDTgz0zDtohMHrKM FGhjJ34G7RDyI7UGnhvw3bBE0pnZL69P8PxgEz2KDPch/Xv6V7AYYkqbiM5OgJ0v 6+ZLNrP+x5j9on0dZGq+ag== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1752059163; x= 1752145563; bh=6SrbkzQSffAn6GLdW7az5VaVu16+GjjLPlAkmwc3Z24=; b=K JSOIKabHGmd19O3e27UhShia7jB+8kEQ1UcInwN7fW4JHJCjlbBtWTqkU03H7/Os 4eyqVqA2+Qoru0HMRwbKUtdu4c3x5pwAiSV3LL8cSWhxIFChQ8HNJoTeEBJWz632 TxT1DhxWcMldOcFtwd1NTuV7I3vSS1sHRuEOMX330mCMYZGuPAPba3K9nqM8QM4W mE5V0ck1AUdVj9YkfyAL5Y29P8/zE47Q5VumLsQfatMvgsvJRDuvuRcqu5N8Cv08 BJCFIaPmPaH0EOgiOLGUd7ELlJrHxYPH8hVzkPLH2UzQeTFv5+gnprMmeI++Z5o3 znJhRv69F+uRVA8C75M/Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdefjeegtdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpefkffggfgfuvfevfhfhjggtgfesthejredttddvjeenucfhrhhomhepuegvrhhnugcu ufgthhhusggvrhhtuceosggvrhhnugessghssggvrhhnugdrtghomheqnecuggftrfgrth htvghrnhephefhjeeujeelhedtheetfedvgfdtleffuedujefhheegudefvdfhheeuvedu ueegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepsg gvrhhnugessghssggvrhhnugdrtghomhdpnhgspghrtghpthhtohepiedpmhhouggvpehs mhhtphhouhhtpdhrtghpthhtohepjhhorghnnhgvlhhkohhonhhgsehgmhgrihhlrdgtoh hmpdhrtghpthhtohepmhhikhhlohhssehsiigvrhgvughirdhhuhdprhgtphhtthhopehl ihhnuhigqdhfshguvghvvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtoh epuggrvhhiugesrhgvughhrghtrdgtohhmpdhrtghpthhtohepfihilhhlhiesihhnfhhr rgguvggrugdrohhrghdprhgtphhtthhopehlihhnuhigqdhmmheskhhvrggtkhdrohhrgh X-ME-Proxy: Feedback-ID: i5c2e48a5:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 9 Jul 2025 07:06:02 -0400 (EDT) Message-ID: <4ef06726-1851-44af-b4d1-45b828746ce2@bsbernd.com> Date: Wed, 9 Jul 2025 13:06:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 1/2] fuse: use default writeback accounting To: Joanne Koong , miklos@szeredi.hu Cc: linux-fsdevel@vger.kernel.org, david@redhat.com, willy@infradead.org, linux-mm@kvack.org References: <20250707234606.2300149-1-joannelkoong@gmail.com> <20250707234606.2300149-2-joannelkoong@gmail.com> From: Bernd Schubert Content-Language: en-US, de-DE, fr In-Reply-To: <20250707234606.2300149-2-joannelkoong@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Queue-Id: 9F0EAA0016 X-Rspamd-Server: rspam03 X-Stat-Signature: h97znbif8c67q9jhdppc69oii1581mbi X-HE-Tag: 1752059164-731435 X-HE-Meta: U2FsdGVkX1/0Y8F/FnLwmjJoy4ouICw7glWTn5ZjGSVw/ouktjhp7SilqDEssdNobUgwnloAh5NBEAr7l05uGrHqrwA8TjraswTCy9kuGDWpl3nU9bx+KMDbUnGGAzWdnavpKpQBF3F82Q5YCKrGo1GMvD2mv5Cmt9+GRyJ4kGJ9Hscqg9LT7UwmobtAJvQ+edcl+BIn8pjV9dP8POQyaYqPbKeCGzcnjedOE4qb9vk4UjKR1UD49wZKLcSW9+u0cnVnILTqxxQ+1+l/mKK1AleJRksgKZDoSYQZMFrpXsL1CB2AN1QL+IeQU8ANRyrn5wePTnVOBbi5QWVk4XU8n+Egeh1l3OIDigeUVHgesqxld96+OUS7QoMUT2LE/Bo/cUo7E2LHOK7XWltqrpHExUu2Hx70N56JypiYOMTc6eENbK01l285CDkhsdun1MfDZC6NlMw+lkgZVf42QxGaXjpdRKbguPT2FSx1/nM9+glXosQcpHPOsfq5UWOQ9YnLnOZLaDTv8vEa7qb/dDVO+3+mP/mHJWntl9IsjbOtZYbYsnbNPItXHRZQRjAL+YGyOY/nCASZQv4BAIYiBItNAVuJoP8QL5XgamdKGwbVhNqnBggisDxSfrh8c9sW2glJFnkGLpICKxelgwfphFExYwuD0Us4PdrmC4zNb3v5oclX+rS56752E2UGUUEsEGvTcT/bmZZslACgL7+IzY42ctQmR8+Y7ZcoP37u+B23iicUYlMTFCz5xHDs1IOwUpgyjGzt4tdRwRe+DK1JFz/5ON3Ng2thwDSdcYPJ8IFMP8ijN0QZW+MSEJ/SmgV4Ektk40Rbk/MJhB71p7fnOJIYZPwEFaywO9zacxenW+ZRj3q07UU2NaTrFIrUfsdUnfXSEt15ZmiHDFQjhuw9bRaQ56J1BbvE5Ft5z3omvKT3jcBfGZ/m84C++PZtzBSTQbSmpYZ4GUJhq5hxLJyngsk +X96XUi1 +RTsqVEu3lumhK2NuIP+cSlqIKeIL/GkbyA4zpcodpF4FlHJwxi+vGDnfvdYto8XrFVUOGiZ0Nxa43kPKsAfs9ceVVvd9xAJ6D5qGfjx4i/orRoT9YGA1AsOMDqJdQTFHpbjHt3odoAo3nJIkcEomqmXnCrCWVheIUGDQDoKCbRhK+6TutWMwAjvtce5sp8zIhOIilCV9RdNB4bHhTY0Es0+6u/jWs30Fzcl2nsezuxSTSKQmoW09Ehgk6ibxMjZjRoXC9tstoXM4NLppnICBg10LLKhp97g+JWOwRi0zOdrUGZXr724B1DdsknVGTpDo8FAPVAhmKzz750J0Ig7LXW4UlQGqBmSSZFEojvQN7eH229muvPfkQQTH/lwMyU2UM06NNjbQ4sZ0ctYQ0r1VJRDfaWYL5+5ZJCzoKjoKsVyelliLyre/JTcIbVGr8JdX4aVVHMQF9XQE5texW7bpHKxhn4SrJGCKqmYv 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: On 7/8/25 01:46, Joanne Koong wrote: > commit 0c58a97f919c ("fuse: remove tmp folio for writebacks and internal > rb tree") removed temp folios for dirty page writeback. Consequently, > fuse can now use the default writeback accounting. > > With switching fuse to use default writeback accounting, there are some > added benefits. This updates wb->writeback_inodes tracking as well now > and updates writeback throughput estimates after writeback completion. > > This commit also removes inc_wb_stat() and dec_wb_stat(). These have no > callers anymore now that fuse does not call them. > > Signed-off-by: Joanne Koong > --- > fs/fuse/file.c | 9 +-------- > fs/fuse/inode.c | 2 -- > include/linux/backing-dev.h | 10 ---------- > 3 files changed, 1 insertion(+), 20 deletions(-) > > diff --git a/fs/fuse/file.c b/fs/fuse/file.c > index adc4aa6810f5..e53331c851eb 100644 > --- a/fs/fuse/file.c > +++ b/fs/fuse/file.c > @@ -1784,19 +1784,15 @@ static void fuse_writepage_finish(struct fuse_writepage_args *wpa) > struct fuse_args_pages *ap = &wpa->ia.ap; > struct inode *inode = wpa->inode; > struct fuse_inode *fi = get_fuse_inode(inode); > - struct backing_dev_info *bdi = inode_to_bdi(inode); > int i; > > - for (i = 0; i < ap->num_folios; i++) { > + for (i = 0; i < ap->num_folios; i++) > /* > * Benchmarks showed that ending writeback within the > * scope of the fi->lock alleviates xarray lock > * contention and noticeably improves performance. > */ > folio_end_writeback(ap->folios[i]); > - dec_wb_stat(&bdi->wb, WB_WRITEBACK); > - wb_writeout_inc(&bdi->wb); > - } Probably, just my own style, personally I keep the braces when there are comments. > > wake_up(&fi->page_waitq); > } > @@ -1982,14 +1978,11 @@ static void fuse_writepage_add_to_bucket(struct fuse_conn *fc, > static void fuse_writepage_args_page_fill(struct fuse_writepage_args *wpa, struct folio *folio, > uint32_t folio_index) > { > - struct inode *inode = folio->mapping->host; > struct fuse_args_pages *ap = &wpa->ia.ap; > > ap->folios[folio_index] = folio; > ap->descs[folio_index].offset = 0; > ap->descs[folio_index].length = folio_size(folio); > - > - inc_wb_stat(&inode_to_bdi(inode)->wb, WB_WRITEBACK); > } > > static struct fuse_writepage_args *fuse_writepage_args_setup(struct folio *folio, > diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c > index bfe8d8af46f3..a6c064eb7d08 100644 > --- a/fs/fuse/inode.c > +++ b/fs/fuse/inode.c > @@ -1557,8 +1557,6 @@ static int fuse_bdi_init(struct fuse_conn *fc, struct super_block *sb) > if (err) > return err; > > - /* fuse does it's own writeback accounting */ > - sb->s_bdi->capabilities &= ~BDI_CAP_WRITEBACK_ACCT; > sb->s_bdi->capabilities |= BDI_CAP_STRICTLIMIT; > > /* > diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h > index e721148c95d0..9a1e895dd5df 100644 > --- a/include/linux/backing-dev.h > +++ b/include/linux/backing-dev.h > @@ -66,16 +66,6 @@ static inline void wb_stat_mod(struct bdi_writeback *wb, > percpu_counter_add_batch(&wb->stat[item], amount, WB_STAT_BATCH); > } > > -static inline void inc_wb_stat(struct bdi_writeback *wb, enum wb_stat_item item) > -{ > - wb_stat_mod(wb, item, 1); > -} > - > -static inline void dec_wb_stat(struct bdi_writeback *wb, enum wb_stat_item item) > -{ > - wb_stat_mod(wb, item, -1); > -} > - > static inline s64 wb_stat(struct bdi_writeback *wb, enum wb_stat_item item) > { > return percpu_counter_read_positive(&wb->stat[item]); Reviewed-by: Bernd Schubert