Message ID | 20240423170339.54131-5-ryncsn@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm/swap: optimize swap cache search space | expand |
On 4/24/24 01:03, Kairui Song wrote: > From: Kairui Song <kasong@tencent.com> > > page_index is needed 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, so just drop it. > > Signed-off-by: Kairui Song <kasong@tencent.com> > Cc: Xiubo Li <xiubli@redhat.com> > Cc: Ilya Dryomov <idryomov@gmail.com> > Cc: Jeff Layton <jlayton@kernel.org> > Cc: ceph-devel@vger.kernel.org > --- > fs/ceph/dir.c | 2 +- > fs/ceph/inode.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c > index 0e9f56eaba1e..570a9d634cc5 100644 > --- a/fs/ceph/dir.c > +++ b/fs/ceph/dir.c > @@ -141,7 +141,7 @@ __dcache_find_get_entry(struct dentry *parent, u64 idx, > if (ptr_pos >= i_size_read(dir)) > return NULL; > > - if (!cache_ctl->page || ptr_pgoff != page_index(cache_ctl->page)) { > + if (!cache_ctl->page || ptr_pgoff != cache_ctl->page->index) { > ceph_readdir_cache_release(cache_ctl); > cache_ctl->page = find_lock_page(&dir->i_data, ptr_pgoff); > if (!cache_ctl->page) { > diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c > index 7b2e77517f23..1f92d3faaa6b 100644 > --- a/fs/ceph/inode.c > +++ b/fs/ceph/inode.c > @@ -1861,7 +1861,7 @@ static int fill_readdir_cache(struct inode *dir, struct dentry *dn, > unsigned idx = ctl->index % nsize; > pgoff_t pgoff = ctl->index / nsize; > > - if (!ctl->page || pgoff != page_index(ctl->page)) { > + if (!ctl->page || pgoff != ctl->page->index) { > ceph_readdir_cache_release(ctl); > if (idx == 0) > ctl->page = grab_cache_page(&dir->i_data, pgoff); LGTM. Reviewed-by: Xiubo Li <xiubli@redhat.com>
diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index 0e9f56eaba1e..570a9d634cc5 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -141,7 +141,7 @@ __dcache_find_get_entry(struct dentry *parent, u64 idx, if (ptr_pos >= i_size_read(dir)) return NULL; - if (!cache_ctl->page || ptr_pgoff != page_index(cache_ctl->page)) { + if (!cache_ctl->page || ptr_pgoff != cache_ctl->page->index) { ceph_readdir_cache_release(cache_ctl); cache_ctl->page = find_lock_page(&dir->i_data, ptr_pgoff); if (!cache_ctl->page) { diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 7b2e77517f23..1f92d3faaa6b 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -1861,7 +1861,7 @@ static int fill_readdir_cache(struct inode *dir, struct dentry *dn, unsigned idx = ctl->index % nsize; pgoff_t pgoff = ctl->index / nsize; - if (!ctl->page || pgoff != page_index(ctl->page)) { + if (!ctl->page || pgoff != ctl->page->index) { ceph_readdir_cache_release(ctl); if (idx == 0) ctl->page = grab_cache_page(&dir->i_data, pgoff);