Message ID | 20240417160842.76665-3-ryncsn@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mm/swap: optimize swap cache search space | expand |
On Thu, Apr 18, 2024 at 12:08:36AM +0800, Kairui Song wrote: > +++ 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_page->index << (PAGE_SHIFT - bmap->b_inode->i_blkbits); I'd prefer this were key = bh->b_folio->index << (PAGE_SHIFT - bmap->b_inode->i_blkbits); (pages only have a ->index field for historical reasons; I'm trying to get rid of it)
On Thu, Apr 18, 2024 at 12:14 AM Matthew Wilcox <willy@infradead.org> wrote: > > On Thu, Apr 18, 2024 at 12:08:36AM +0800, Kairui Song wrote: > > +++ 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_page->index << (PAGE_SHIFT - bmap->b_inode->i_blkbits); > > I'd prefer this were > > key = bh->b_folio->index << (PAGE_SHIFT - bmap->b_inode->i_blkbits); > > (pages only have a ->index field for historical reasons; I'm trying to > get rid of it) > Good suggestion! For easier review I just copied the original logic from page_index, I will update with folio conventions in V2.
diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c index 383f0afa2cea..4594a4459862 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_page->index << (PAGE_SHIFT - bmap->b_inode->i_blkbits); for (pbh = page_buffers(bh->b_page); pbh != bh; pbh = pbh->b_this_page) key++;