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 B99EEC4345F for ; Tue, 30 Apr 2024 15:27:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 251136B0089; Tue, 30 Apr 2024 11:27:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 201EA6B008A; Tue, 30 Apr 2024 11:27:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0A3C86B008C; Tue, 30 Apr 2024 11:27:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id DE2C86B0089 for ; Tue, 30 Apr 2024 11:27:35 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 89445160465 for ; Tue, 30 Apr 2024 15:27:35 +0000 (UTC) X-FDA: 82066577670.28.1E82EFE Received: from mail-lj1-f169.google.com (mail-lj1-f169.google.com [209.85.208.169]) by imf18.hostedemail.com (Postfix) with ESMTP id 967901C0020 for ; Tue, 30 Apr 2024 15:27:32 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=EyejXGtu; spf=pass (imf18.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.169 as permitted sender) smtp.mailfrom=ryncsn@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=1714490852; 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=+1HgWwLjoipLTcuV2mY+tWY78vZZqlbVL58B4f0iiu4=; b=mZ0I5ySA7gf6qeXQlpnzhJhMDiuTi4l0I6foPIwAj7QTWlWV22BhNEIjpOeu0VVu35kMrK NUh78lNsWt7pL/Gy8Uyv4aIpVIf2WuQgayMUSSOUbvqquhxrpAkR10VkxBeeNlF2cZMQp0 csrttUq8lqcRp2k6QqtqfU/Ae2FkPcs= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=EyejXGtu; spf=pass (imf18.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.169 as permitted sender) smtp.mailfrom=ryncsn@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714490852; a=rsa-sha256; cv=none; b=m0cY0a4Le2T4knsbiS6i4jB5Gh0CFn+qEHdaz3O+60fWgb571nsYNiecfwGXt9f31SqtZ2 4W+DyS+ssdh8bSVacMuds4KQZpOJ66PSULBZf9lLLi14+xL4fNwgxYdLOIWEyEQfi3ARnx 8P+s1G8kEX/Z/JZiQUIvme8Mg02GIXc= Received: by mail-lj1-f169.google.com with SMTP id 38308e7fff4ca-2e0b2ddc5d1so21897931fa.3 for ; Tue, 30 Apr 2024 08:27:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714490851; x=1715095651; 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=+1HgWwLjoipLTcuV2mY+tWY78vZZqlbVL58B4f0iiu4=; b=EyejXGtuIEySzQpgHulsIh+ScN0lpMv9gwvgtyY7KFJ4byNoDGDOVtwZM5zkNFiJFI 2SNeB7/Ala/bgdLHq5V5GZxz5KV9R7XiIU/IDhncFpjbS51LBRiec3HLIWhaXu/g/Gyj bK8QoYLgNUnYURa2V1+LrMq4ldO96FtXXhidx1K4bh2yJjczz1RLjn7JjewxJ3e+4jNa vHW62cfsRtysklgZwtnI+o0P3NUzPDQYNP1duIlNvpoCiXYwvrwCDf4E1v7jTg9jN3X0 MzSRvGyepFW5/refFRqxJkz//8yEYs96L16O9T0MNU867KOc/C1P5L86JKrYhrk2DM0S zUuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714490851; x=1715095651; 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=+1HgWwLjoipLTcuV2mY+tWY78vZZqlbVL58B4f0iiu4=; b=SvMFQkh0DQ0yMbZOyMYCYn88J5ARdYsrqdbs/YkYyZAVf7ZM5e/wAx9PM2skVCbMKc 6jpV39FDSXfV6xOKxND3bkWxQl3hp0jDhRMKDSePr5irb5ZitUKaSaroFWaW43e6Szoa 3qBmDz1+LJQh1gWCTTvqflrWLhOuCJsHYpqDwGDzUd5p/fbSbWvauh6RKJDHKN8K99G+ SRwDVMbjkNgaDRX/2iccjH0OaqBa/SJcBZkHvlw+EPF1XLGykdsfxSSQ6/Mag54mPzea p4EC0bmgXSX+/wIPGtdYGZSrRN7lU9c7j7ylfF24UIbItDBcqhRqSzF0MGANqDX94s1+ oYzA== X-Forwarded-Encrypted: i=1; AJvYcCVBV3O17DmasIiCwYC5kBLoSVyVoj9TrI81RD8Xu8kADXB+GUYHpzXwFrCTpk1Up6gdwlLB2wliHRKMn0gF7eZmf/c= X-Gm-Message-State: AOJu0YyiDR+8UVCHNeZK9zqMbNDoFC4i4b4WXr5lH0DStP5UQzPgUFTx fIIvBqNRy2fVMkmiLzC/4nSGh7LMESSXD1isoqfI2O1Z3AlSXnBxVp0/qYkpqRuAMAjq08oxShD mtBKggz+qx30248kn7ipNzossMZD5m+CLW7s= X-Google-Smtp-Source: AGHT+IH7pdZicu4uh/ZkHr0Ti6TFgkBfJ9pqAtcJFUfLakRoyEY+RT0Y2F0U8MhrSCG7VjRQg5cnZkXUG29elM5wPDA= X-Received: by 2002:a2e:9f09:0:b0:2de:48ef:c3ce with SMTP id u9-20020a2e9f09000000b002de48efc3cemr23422ljk.49.1714490850543; Tue, 30 Apr 2024 08:27:30 -0700 (PDT) MIME-Version: 1.0 References: <20240429190500.30979-1-ryncsn@gmail.com> <20240429190500.30979-3-ryncsn@gmail.com> In-Reply-To: From: Kairui Song Date: Tue, 30 Apr 2024 23:27:13 +0800 Message-ID: Subject: Re: [PATCH v3 02/12] nilfs2: drop usage of page_index To: Ryusuke Konishi Cc: Matthew Wilcox , linux-mm@kvack.org, Andrew Morton , "Huang, Ying" , Chris Li , Barry Song , Ryan Roberts , Neil Brown , Minchan Kim , Hugh Dickins , David Hildenbrand , Yosry Ahmed , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nilfs@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: 8askcrim939wcqxzpmj7xrw5huy8a3sn X-Rspam-User: X-Rspamd-Queue-Id: 967901C0020 X-Rspamd-Server: rspam05 X-HE-Tag: 1714490852-313263 X-HE-Meta: U2FsdGVkX1+kO0uuJ/4XTpaFNHVu9GraAGQdImdmJfIX/JlXBai/hVJ6I7DvHc0UW9tvY95lle8B5uQosiVS1KBNTP8datNaztwZkxgMXcsV7Zj+FUngI93z55cmcjOQTPH5RYtyzAi8wai2P6ZFLPHZax65j4VmFGLOk2d86bX7aWAx4QQaH09CapR/MhWw8coA21vt5D86O0Z3rGMnllaVTm51mQ6LxVI0d6brXTdATqRWPeEuZMzWBsDA8NHSz87R/GSiequX4Ryz4xBRtpl3ZY28xu8LE3Of+jG8JGzAVAuVuwdZ+LdXxI30+OMXnymyj/8N1rbxduAiJfDbofU7RNaEdLVSr0gTXAmd1rxbircD6oUvroQQCa0xska72wH7PbovSVaVRs+ESzXG9rFWXGnspqb2YDR3a4LVSL9NoaaIDkGu0Y65aM35jafo5v6H7RUYigpSUfKhikqVHurWcnGVrruQQ9vCm4r3g6ODXX4o2tk0XGQwVm/NeORPm5ot+jRnw4SyKN84jqnI28vq8w5Av8IGreJzr7L7e8fTZoWlDXT9ppyrQ2lKeugVK0plGWrPIZIk0gCH9hJ4Z/o6hwlcUfvK+r93WVuZwnb7/fLXFTmFUpIX3HmoW9fvgHqvLWKPSH5pUQk20yGVEgugpWdrhgszR7/eoweEiVNKRH2FnXRrDLtMJ1XIuNAGGTj+qdF7/8eZ67G7o1oHTigNx814SEjSjmAiI9VDwpohL6LbXBv+xq8hplzMbQdrxwjhUl51ApKLP9lLpVywMSloOEKR/hdOTmEOaQ0KJJvSHnyGE2GL8ZbCuKMf+EB/j2WYofZOpHyt9sPSvtErd0Ta+4iQbEUUp1OCbWBr6cRT3LtYqERU7GWWkQYqyOqNQPq17klEhd09R2wwBqwtVlqDHQ/pSCzdQx4B6WWyhZjpGArqSXt8ZU7yIA9PFLnkHE79OYUObftsztPfWcJ /aFtXrUp r6hMQXHwvf0/hQmw297hCJBqdJOUjl5wd3NJPSIIDo6yDJ3ZpBQTC4KRO/SbjrrkTHDo4f2p7Z1mTOMVdWBAfarhNZALGXIzjIo0jzP750AXs1ySWISOd2sHebax1q3RpZ/0M5N5I90qTTWzNatAUxaKTdC2N9zHcPToz6NzZciboJkrS1SGEIPbTTYjB9dZywag1CweADptL1t/CIwyoBcq6P7WOxWg4zHwfIeffCYl07CqIVG1vS8vDrUWgtjIwYfKknlMqQ65mf6Rl8IfZWmwLNFtT8+wl3cjoBg+mjCAWOth6M/JaFprRfInoSURrThEfzEQw/dbDZmCo4ZNYsa3mGOzyJi8OK3C29E4ZZf6re4EzjUGN5JKlFLUwTliOw2P5BXy7mQkaR7UJSIE5ohWJWjvxVlNM6XjFE0qw+WAve+xKdAw9/rjJks96mANfK4T/oYe+qR7Ae2diVjsVGLjtmPfgsTq2RNd8O8wCD5/nIGYH8jt3z/ngfB4QCA1WLKKzo4PbnzxCoyZzHw/knHk+hQGq6h3/eheJ9w0wP050hH+bG+y8qzSqgGDv7Zwz/rbjNw2na1EiwtD4s2/EzLK9Kbxjbgu+m0HadHnMx6Jwe+6T93CT/Yxn8jR+KO71IGxkoBF8QBbP3OiN/XyvX6xL9hYpPU4lotZx1k2YaQvZYkM= 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 Tue, Apr 30, 2024 at 4:01=E2=80=AFAM Ryusuke Konishi wrote: > > On Tue, Apr 30, 2024 at 4:38=E2=80=AFAM Matthew Wilcox wrote: > > > > On Tue, Apr 30, 2024 at 04:28:41AM +0900, Ryusuke Konishi wrote: > > > On Tue, Apr 30, 2024 at 4:22=E2=80=AFAM Kairui Song wrote: > > > > > > > > On Tue, Apr 30, 2024 at 3:14=E2=80=AFAM Matthew Wilcox wrote: > > > > > > > > > > On Tue, Apr 30, 2024 at 03:04:50AM +0800, Kairui Song wrote: > > > > > > From: Kairui Song > > > > > > > > > > > > page_index is only for mixed usage of page cache and swap cache= , for > > > > > > pure page cache usage, the caller can just use page->index inst= ead. > > > > > > > > > > > > It can't be a swap cache page here (being part of buffer head), > > > > > > so just drop it, also convert it to use folio. > > > > > > > > > > > > Signed-off-by: Kairui Song > > > > > > Cc: Ryusuke Konishi > > > > > > Cc: linux-nilfs@vger.kernel.org > > > > > > --- > > > > > > fs/nilfs2/bmap.c | 5 ++--- > > > > > > 1 file changed, 2 insertions(+), 3 deletions(-) > > > > > > > > > > > > diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c > > > > > > index 383f0afa2cea..f4e5df0cd720 100644 > > > > > > --- a/fs/nilfs2/bmap.c > > > > > > +++ b/fs/nilfs2/bmap.c > > > > > > @@ -453,9 +453,8 @@ __u64 nilfs_bmap_data_get_key(const struct = nilfs_bmap *bmap, > > > > > > struct buffer_head *pbh; > > > > > > __u64 key; > > > > > > > > > > > > - key =3D page_index(bh->b_page) << (PAGE_SHIFT - > > > > > > - bmap->b_inode->i_blkbits= ); > > > > > > - for (pbh =3D page_buffers(bh->b_page); pbh !=3D bh; pbh = =3D pbh->b_this_page) > > > > > > + key =3D bh->b_folio->index << (PAGE_SHIFT - bmap->b_inode= ->i_blkbits); > > > > > > + for (pbh =3D folio_buffers(bh->b_folio); pbh !=3D bh; pbh= =3D pbh->b_this_page) > > > > > > key++; > > > > > > > > > > > > return key; > > > > > > > > > > Why isn't this entire function simply: > > > > > > > > > > return bh->b_blocknr; > > > > > > > > > > > > > Nice idea, I didn't plan for extra clean up and test for fs code, b= ut > > > > this might be OK to have, will check it. > > > > > > Wait a minute. > > > > > > This function returns a key that corresponds to the cache offset of > > > the data block, not the disk block number. > > > > > > Why is returning to bh->b_blocknr an alternative ? > > > Am I missing something? > > > > Sorry, I forgot how b_blocknr was used. What I meant was: > > > > u64 key =3D bh->b_folio->index << (PAGE_SHIFT - bmap->b_inode->= i_blkbits); > > > > return key + bh_offset(bh) >> bmap->b_inode->i_blkbits; > > > > The point is to get rid of the loop. We could simplify this (and make > > it ready for bs>PS) by doing: > > > > loff_t pos =3D folio_pos(bh->b_folio) + bh_offset(bh); > > return pos >> bmap->b_inode->i_blkbits; > > I see, I understand the idea that it would be better to eliminate the loo= p. > > The above conversion looks fine. > What are you going to do, Kairui ? Hi, I'd like to remove the loop as Matthew suggested, that will make the code cleaner. I'm not very familiar with this part so I'll check related code first for double check, won't take long though. > Thanks, > Ryusuke Konishi