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 B4E41D6004C for ; Tue, 19 Nov 2024 07:59:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BEE526B007B; Tue, 19 Nov 2024 02:59:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B77586B0082; Tue, 19 Nov 2024 02:59:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A3F276B0083; Tue, 19 Nov 2024 02:59:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 8215C6B007B for ; Tue, 19 Nov 2024 02:59:52 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 22296C0229 for ; Tue, 19 Nov 2024 07:59:52 +0000 (UTC) X-FDA: 82802094354.22.561025F Received: from out30-110.freemail.mail.aliyun.com (out30-110.freemail.mail.aliyun.com [115.124.30.110]) by imf07.hostedemail.com (Postfix) with ESMTP id 1CA1040004 for ; Tue, 19 Nov 2024 07:58:38 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=fKSYX1UL; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf07.hostedemail.com: domain of jefflexu@linux.alibaba.com designates 115.124.30.110 as permitted sender) smtp.mailfrom=jefflexu@linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732003006; a=rsa-sha256; cv=none; b=6Xh1oZ3+ypdKrMBorZ9DqfP7voqSp1aTtA+/okIhZ2f2qvhsAlpb5naQwhke7dt4vJpfe6 QlykYAcpQs0E8qil//xjgG/+nhw3HerZlj1BYmmMaBk3ONrNNMD+ef5FuiDbslMnX5d81e EK0C9kDpYiZkSZ+zGE29ylgNYmJnuUo= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=fKSYX1UL; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf07.hostedemail.com: domain of jefflexu@linux.alibaba.com designates 115.124.30.110 as permitted sender) smtp.mailfrom=jefflexu@linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732003006; 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=2uwBes63mJHUjyBEtDo6LVibDIhDGrZOK/V6jhMLb3g=; b=2U5cS5qpoMkagkO+TCd/Js+RPjTtEbiy5r1LHn5Nrppe3aLrKMfu4I/QLA7JkdXgytDL3j p5ffXCtAVlIVCJV91Rk3zpZALyAKJiMoVA/NZ+K2I7NCyABESk+kzn/LH4REiL7ydLzq4D 5gHf3/EEIfaAFCe0K/XHvbHgbLjXYKk= DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1732003186; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=2uwBes63mJHUjyBEtDo6LVibDIhDGrZOK/V6jhMLb3g=; b=fKSYX1ULRvY3IrnboU5aegVp6L4HirV+6NLcfAvoIQ/VG+ImIv2FG2OWxOe12yS6H+m2atSod4XqdowM/rwUxdZz+tLPRXM7SjEVogtvar1ZXHTsmP8aotZ3Saw6xdhimCUdC73BHB4wcffVZDq8Vwhf6DdFY3stAi2nMm/ybiM= Received: from 30.221.144.210(mailfrom:jefflexu@linux.alibaba.com fp:SMTPD_---0WJnYvtT_1732003183 cluster:ay36) by smtp.aliyun-inc.com; Tue, 19 Nov 2024 15:59:45 +0800 Message-ID: <89aef56a-6d1b-449d-8fbc-94d305bae78c@linux.alibaba.com> Date: Tue, 19 Nov 2024 15:59:41 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 5/5] fuse: remove tmp folio for writebacks and internal rb tree To: Joanne Koong , miklos@szeredi.hu, linux-fsdevel@vger.kernel.org Cc: shakeel.butt@linux.dev, josef@toxicpanda.com, linux-mm@kvack.org, bernd.schubert@fastmail.fm, kernel-team@meta.com References: <20241115224459.427610-1-joannelkoong@gmail.com> <20241115224459.427610-6-joannelkoong@gmail.com> Content-Language: en-US From: Jingbo Xu In-Reply-To: <20241115224459.427610-6-joannelkoong@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Stat-Signature: ad3wq4n4ojjqgrmepdx4uutxfid9xw8f X-Rspamd-Queue-Id: 1CA1040004 X-Rspamd-Server: rspam08 X-Rspam-User: X-HE-Tag: 1732003118-919820 X-HE-Meta: U2FsdGVkX1+I/cFLzapEcAjxBL8WrGhM+hcNnICC6dBoGYE60xZygi5NnmURANhBqGdjgBrNXEG8S6e2qk9E26tCpOBj5jlT3ZfWeowYnJiPWG2R4KyfISmh263HZWfXijqYpupz+EzBmZN7DIjnkHS9aFlXQGIPTXYId/BqwmImX4bBUCSVRhXqzuxlpQwUdpw8DsCNbSDvIR5SJhXw/tFNdXiciA8VOrKaU/4LDVmypFq8hYnkIXT5yZOIqHBMfD0W1YnzMPoq7iVQuCCwj9sBc6Vb33wYZVehRaHLYtXu80eramYJ6krlajs3aD3JpLKpOHVD1UHCgP6L9DPa7iiuHCVfJNuLqGGWUR8nA60iESC9GROPNeB2H2rdHO5zGlWd13sKeDIUyxzTGPz3uKbJ2MyYUjxrnlgivDymWBX4S/PLTjspwfR2Jv2E0tfZjDDXZUnkcOKywEB/fxwQfmaDh3zeZw6QO/22ThAt+pxDcwAL/eSW6rr6sPkEnSXrj6aHYHRgPQfGQKTYjMGahkp9icxl3RnKgontsmU03GGlOEM/qr3mXoL8y7LubgojlWQLMB34mn9vm9FjK/yodD06tuwIlBE3owBQHNjogRgmeChyHzKHSwhtM3kZWyIOIPbnciYyJKk8l0VO2ysqSpOh1Kx++DcEf5Wed3rAHmYx0E7hAXJxcPGETx6Y5d1bb3R1NyHOICjjHW26F4oqp+eCRXPSJJBllrIP98a4fDD7ewsupvBVf4g26FHYIbHCdsRrUr7igTm8lN9IpmnPJPXhnEJJ4Sbvza+V+746gp5fgYtFyvJ1ex/2vbrZonzVVXm8zE2Go92xgbWVgP1Sb6V0/5qe9/cGvZyqF9+ewVhaPgezppEbLerPaGAU1yw9XNaVoEtDvKxupFUxr8KQxXi6ZVwA5mxjSJ+98miWv7CxF/qvTsL9na77oBxOVOdviZSPO8XRiV/dsovanLN 362Czv7d qwcJg1Ono3TJ6FE+bGaOjPiQMKhsMCV3fHqc5KWQddEQEVjMspNMUjXGG/t2POtiTAeL36uDeYBwwUGbz+hvZ1UKSq/ezJd8XKYKDHDyhp1MDvOEIYjzXB22V9rL2qN1Z0Vaz7/nafyryHYLmpM9JW84p8GclzYHFN89aNnIIstHsiGjjL8532fsIAy99QLSZpxVeOEk8H2lm84hcSiAIgocE+WXXVdcCEh+ek4QvuyOsnVL4AqFZ3Z7RmA== 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 11/16/24 6:44 AM, Joanne Koong wrote: > @@ -1838,7 +1748,7 @@ static void fuse_writepage_finish_stat(struct inode *inode, struct folio *folio) > struct backing_dev_info *bdi = inode_to_bdi(inode); > > dec_wb_stat(&bdi->wb, WB_WRITEBACK); > - node_stat_sub_folio(folio, NR_WRITEBACK_TEMP); > + node_stat_sub_folio(folio, NR_WRITEBACK); Now fuse_writepage_finish_stat() has only one caller and we could make it embedded into its only caller. > static void fuse_writepage_args_page_fill(struct fuse_writepage_args *wpa, struct folio *folio, > - struct folio *tmp_folio, uint32_t folio_index) > + uint32_t folio_index) > { > struct inode *inode = folio->mapping->host; > struct fuse_args_pages *ap = &wpa->ia.ap; > > - folio_copy(tmp_folio, folio); > - > - ap->folios[folio_index] = tmp_folio; > + ap->folios[folio_index] = folio; > ap->descs[folio_index].offset = 0; > ap->descs[folio_index].length = PAGE_SIZE; > > inc_wb_stat(&inode_to_bdi(inode)->wb, WB_WRITEBACK); > - node_stat_add_folio(tmp_folio, NR_WRITEBACK_TEMP); > + node_stat_add_folio(folio, NR_WRITEBACK); This inc NR_WRITEBACK counter along with the corresponding dec NR_WRITEBACK counter in fuse_writepage_finish_stat() seems unnecessary, as folio_start_writeback() will increase the NR_WRITEBACK counter, while folio_end_writeback() will decrease the NR_WRITEBACK counter. -- Thanks, Jingbo