diff mbox series

[v2,2/8] nilfs2: drop usage of page_index

Message ID 20240423170339.54131-3-ryncsn@gmail.com (mailing list archive)
State New, archived
Headers show
Series mm/swap: optimize swap cache search space | expand

Commit Message

Kairui Song April 23, 2024, 5:03 p.m. UTC
From: Kairui Song <kasong@tencent.com>

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 instead.

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 <kasong@tencent.com>
Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Cc: linux-nilfs@vger.kernel.org
---
 fs/nilfs2/bmap.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Ryusuke Konishi April 23, 2024, 6:48 p.m. UTC | #1
On Wed, Apr 24, 2024 at 2:04 AM Kairui Song wrote:
>
> From: Kairui Song <kasong@tencent.com>
>
> 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 instead.
>
> 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 <kasong@tencent.com>
> Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
> Cc: linux-nilfs@vger.kernel.org
> ---
>  fs/nilfs2/bmap.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c
> index 383f0afa2cea..9f561afe864f 100644
> --- a/fs/nilfs2/bmap.c
> +++ b/fs/nilfs2/bmap.c
> @@ -453,8 +453,7 @@ __u64 nilfs_bmap_data_get_key(const struct nilfs_bmap *bmap,
>         struct buffer_head *pbh;
>         __u64 key;
>
> -       key = page_index(bh->b_page) << (PAGE_SHIFT -
> -                                        bmap->b_inode->i_blkbits);
> +       key = bh->b_folio->index << (PAGE_SHIFT - bmap->b_inode->i_blkbits);
>         for (pbh = page_buffers(bh->b_page); pbh != bh; pbh = pbh->b_this_page)
>                 key++;

This conversion mixes the use of page and folio within the function.
Would you like to take the opportunity to convert
"page_buffers(bh->b_page)" to "folio_buffers(bh->b_folio)" as well?

Thanks,
Ryusuke Konishi
Kairui Song April 24, 2024, 1:57 a.m. UTC | #2
On Wed, Apr 24, 2024 at 2:51 AM Ryusuke Konishi
<konishi.ryusuke@gmail.com> wrote:
>
> On Wed, Apr 24, 2024 at 2:04 AM Kairui Song wrote:
> >
> > From: Kairui Song <kasong@tencent.com>
> >
> > 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 instead.
> >
> > 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 <kasong@tencent.com>
> > Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
> > Cc: linux-nilfs@vger.kernel.org
> > ---
> >  fs/nilfs2/bmap.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c
> > index 383f0afa2cea..9f561afe864f 100644
> > --- a/fs/nilfs2/bmap.c
> > +++ b/fs/nilfs2/bmap.c
> > @@ -453,8 +453,7 @@ __u64 nilfs_bmap_data_get_key(const struct nilfs_bmap *bmap,
> >         struct buffer_head *pbh;
> >         __u64 key;
> >
> > -       key = page_index(bh->b_page) << (PAGE_SHIFT -
> > -                                        bmap->b_inode->i_blkbits);
> > +       key = bh->b_folio->index << (PAGE_SHIFT - bmap->b_inode->i_blkbits);
> >         for (pbh = page_buffers(bh->b_page); pbh != bh; pbh = pbh->b_this_page)
> >                 key++;
>
> This conversion mixes the use of page and folio within the function.
> Would you like to take the opportunity to convert
> "page_buffers(bh->b_page)" to "folio_buffers(bh->b_folio)" as well?

OK, will update this part.
diff mbox series

Patch

diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c
index 383f0afa2cea..9f561afe864f 100644
--- a/fs/nilfs2/bmap.c
+++ b/fs/nilfs2/bmap.c
@@ -453,8 +453,7 @@  __u64 nilfs_bmap_data_get_key(const struct nilfs_bmap *bmap,
 	struct buffer_head *pbh;
 	__u64 key;
 
-	key = page_index(bh->b_page) << (PAGE_SHIFT -
-					 bmap->b_inode->i_blkbits);
+	key = bh->b_folio->index << (PAGE_SHIFT - bmap->b_inode->i_blkbits);
 	for (pbh = page_buffers(bh->b_page); pbh != bh; pbh = pbh->b_this_page)
 		key++;