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 |
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
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 --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++;