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 185D4D743D8 for ; Wed, 20 Nov 2024 21:07:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 46FCA6B0095; Wed, 20 Nov 2024 16:07:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 420146B0096; Wed, 20 Nov 2024 16:07:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2E6F76B009A; Wed, 20 Nov 2024 16:07:39 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 1033D6B0095 for ; Wed, 20 Nov 2024 16:07:39 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id ACB3F80C16 for ; Wed, 20 Nov 2024 21:07:38 +0000 (UTC) X-FDA: 82807707444.08.5CD0E1C Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com [209.85.128.177]) by imf14.hostedemail.com (Postfix) with ESMTP id 2A650100008 for ; Wed, 20 Nov 2024 21:06:39 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CsZ037Md; spf=pass (imf14.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.128.177 as permitted sender) smtp.mailfrom=joannelkoong@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732136795; 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=dBMvOP94zwi3fROmHLGUx12WWNWVxwWf9yDwt17V2Bc=; b=tzbknXczuTA592ionP6z88EJPHbuYEVz92SauJpYRcauhcFFFN+nwpDFISbaVLo71H7a7l rwwNB9MCiaIwyYcv1lM133Jmw5o1uo8kZL5SxNYBx94v6AeNW66yqA8KtBRuFbA+zBjqZi bh5zDSYwOoI+s9bjQVKr7oZkIQG+wH8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732136795; a=rsa-sha256; cv=none; b=5s0XmLAOwORYeUqP0ft5DoSG3RzgB/8Yapln3dGa1Uw+3EMPonvQk7Ut2JovTH7YdUkX9s s1rlDEUAGDK9zpRVUqnUeFW6bIsPg6DAnzGFxbMvjIjRQSPRh1CB2ZdVTmQB0NHrYxx6xV 0P0pcjKdxW+11T2T1+K9ZW+e5TFuZz0= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CsZ037Md; spf=pass (imf14.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.128.177 as permitted sender) smtp.mailfrom=joannelkoong@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-6eeb3741880so1240577b3.1 for ; Wed, 20 Nov 2024 13:07:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732136856; x=1732741656; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=dBMvOP94zwi3fROmHLGUx12WWNWVxwWf9yDwt17V2Bc=; b=CsZ037Md5IQhszH8vdV8whF4VtZjVf3LWbSs4CZ1BT2gA95PBAH6jf1JYJmzfOmtGd JlMHMEibY5rKr0rSmi+mbaEzo4Ti0DJBi8qY8FfJ+YwXk1infUnNTkDxLhL/HVKGm4Gv TocG1SqdDjiufac0WTepsPyNIW968HYgFNcVKsEI8NPcyNGDrmSsCeIIAy3OWn6I/Cun /LKppwZClipCsDCICqZEEBGkgSSNi1rPSj3DDC2xv630DTl2BnT+pvjpmODS0kc+nJiy I0NTvUWYA0L1owV6VKiZdFzWji1gya4mr+ynEtxyW2imw3uH7WH1DgsHa6paSuHPQmoV 6mvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732136856; x=1732741656; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dBMvOP94zwi3fROmHLGUx12WWNWVxwWf9yDwt17V2Bc=; b=aYCivOGMLXBBz3S/bN6YYpP7dPSAkTlKcVUCw/Mpauuq+bX3DEWF/DGfYfevj6uHO0 zbHkyFjiYTYzeozGaus6D7ckUjGAmiAHd7cTqNct2LMMK70EHAssySQ6DE9jQE6BDmVa ZZEtk66smo72EUSup7TW0S2SsgvYsWlEom6fIFc96Cra4iiX24w+SupCZwDkCo6e0kMQ EbMIRyEyyEAt2YIJRzoG+Vmf47wZG+XfH2HO7+5Yt2tijbxls24KyITmecvz4VuBLq8d 7KJrT8mx5SCmsqbjgub7z3t4UoAUQwXMzt4SpHNADl5319+TcbP1oYFltMFMke3NbHbe +QPQ== X-Forwarded-Encrypted: i=1; AJvYcCVZYFEZ0bf5PVobYh8AMuxsm925A0a27Ib7N3IY01cOjJAJz/K58ZP8nx3B3UbwZfeCAzGEVphbFw==@kvack.org X-Gm-Message-State: AOJu0YyzkQpP6bxqihQ5BtRLx3sfZ06QiOIFcOsQ/760kme29gCrG81f AJUE+iOpzvWZRgfRdUYzsniE6F6Rg67p66yY0U7A1vQa2owdTUwcIqRbsf73r2jvgMhGk75xYTc RxzRSVXAyXvR6VgJ6cKV+IzBBFOo= X-Google-Smtp-Source: AGHT+IHD9mzTR9i+dHkUlYMfrhSKLKR6mnnoGUt2cVCPV1N+PwUFekfxDW+5GGXbKwAPZyDMiMqdRPtE0XMatA7qmT4= X-Received: by 2002:a05:690c:9c10:b0:6ee:40f0:dda8 with SMTP id 00721157ae682-6eebd2e2271mr54827807b3.30.1732136855903; Wed, 20 Nov 2024 13:07:35 -0800 (PST) MIME-Version: 1.0 References: <20241115224459.427610-1-joannelkoong@gmail.com> <20241115224459.427610-6-joannelkoong@gmail.com> <89aef56a-6d1b-449d-8fbc-94d305bae78c@linux.alibaba.com> In-Reply-To: <89aef56a-6d1b-449d-8fbc-94d305bae78c@linux.alibaba.com> From: Joanne Koong Date: Wed, 20 Nov 2024 13:07:25 -0800 Message-ID: Subject: Re: [PATCH v5 5/5] fuse: remove tmp folio for writebacks and internal rb tree To: Jingbo Xu Cc: miklos@szeredi.hu, linux-fsdevel@vger.kernel.org, shakeel.butt@linux.dev, josef@toxicpanda.com, linux-mm@kvack.org, bernd.schubert@fastmail.fm, kernel-team@meta.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: soxp6fkin1pbyt8apim34gwxcyidbh88 X-Rspam-User: X-Rspamd-Queue-Id: 2A650100008 X-Rspamd-Server: rspam02 X-HE-Tag: 1732136799-206468 X-HE-Meta: U2FsdGVkX1+7v64AEOzw6sATfILV6KN1IZk7k+AtuSzL2YSEufQYWcgJmhbRoDNkAwc83y4r12JO3vuyEZ3fQlBo0vw3V8BIb+gH5uRA7B7tNOlBbEr3oCJrDSG6WREordlh3FkyZziTT8C+6hADVU+V8Qdjju6DJaMPEPk2Kf8/ixq75LOSjqjRqW9GoL96SB4Iq0IBHtOTbQ8+Hq3oR+ygG8hUHGsUER+QwwW2/VXaq3Opfx42Jvq9kFIcPFsI/JXubCXm/C24XXgCeEGpLVeX7h36aPE1VPkoJ7xQMryqmeCieCM0QoS1emOrZcyXgInOI8o+tyvKiwXf9OKlC1nujP5gOy/v4q3/Q0qKxNuTSyRGNFCY99+xJ/bGIRjfkvLmsh0ydI6+Th6nzz5O+tQmTbX2vB160EFi1x/KRzVi2/xusGkhkW6U8RojkGMmzSUvt/2ko/3wb7PUpjcoM8ot2SRMvQye65PP39Wt47KS26pkR883u/RnimYDvqiVwzyexyJWMpxn51kAkLdPgs1c222s1eE2la4hziDIoKNah/Mzda+hOghDJ/XioaSGADYKeHRZS6McHNBcmSEpi5t6EEGUlv0Pi9ZaXRL1Bdc1cKhro3O3HqKD3SDPqfXLVwhQNXVTLz6IBDEFfWE29XkQyITAZJsJNDYskZj1FbgDOODjERG9c0WFfp/z6BdTBMn7pzb6C05kp+qXjSH4C3GAqtp47wvoIZ4lFo7LCDV6DItRZNnfxbZUPaYQ6mVAZo7b+VZSewv1GhhRZp6bEfR4sabjAe6biHin4vzWJZTEKI3skAK9I3EUaKt+iC3NJ9HZaFZ7LGV40JNOwIUAG6u7oYi1FTQ2gRDOINNqSkN9E9rai6D9NaXw95Fj7T74NdVrzVIhZTS4QbcAscs/iW5T/RsUi7n93l4Xg/i1EJwrW+VrHxbvdRaFu2mZ5YEz4OKDjkYSQJCFhK7i9Bh /kksN/j7 pjK6qxQTBCV1lMx3qhbMZ6OnhVgWzlZqtz6wlGC8iCoj4Kbp8SN3U6mVjvt//i372cH2HcceIxF2dDK8MZsQ72fSD+MYAM9VKS3DhomJ+IIJtKfE/jN3+4xNXd7dqUpDF0ME6wfql/+1F4gJ67nCjRjeTFcjLNgG4wH9Hy8ehxCFmZvtDyGU3L/leYT166UL14NQ8OaxKAXa3W38povT5axRbiVY0m5E/je7hN3a8kQSd6fwRcGpFHY8Rayb6/SHEsBlBgmg1Hq9SdLZ5rsw7ckQ7yyvwM4GScaCNZ6A0aTGgBlu13KfppIzZFVnPkhHWctjW7OL44ynzYBmij+fLVBPJbQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.151034, 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 Mon, Nov 18, 2024 at 11:59=E2=80=AFPM Jingbo Xu wrote: > > On 11/16/24 6:44 AM, Joanne Koong wrote: > > > @@ -1838,7 +1748,7 @@ static void fuse_writepage_finish_stat(struct ino= de *inode, struct folio *folio) > > struct backing_dev_info *bdi =3D 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. I'll make this change in v6. > > > > 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 =3D folio->mapping->host; > > struct fuse_args_pages *ap =3D &wpa->ia.ap; > > > > - folio_copy(tmp_folio, folio); > > - > > - ap->folios[folio_index] =3D tmp_folio; > > + ap->folios[folio_index] =3D folio; > > ap->descs[folio_index].offset =3D 0; > > ap->descs[folio_index].length =3D 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. > Nice find, I'll make this change in v6. Thanks, Joanne > > -- > Thanks, > Jingbo