mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-04 12:12:05 +00:00
mm: drop page_index and simplify folio_index
There are two helpers for retrieving the index within address space for mixed usage of swap cache and page cache: - page_index - folio_index This commit drops page_index, as we have eliminated all users, and converts folio_index's helper __page_file_index to use folio to avoid the page conversion. Link: https://lkml.kernel.org/r/20240521175854.96038-11-ryncsn@gmail.com Signed-off-by: Kairui Song <kasong@tencent.com> Reviewed-by: "Huang, Ying" <ying.huang@intel.com> Cc: Anna Schumaker <anna@kernel.org> Cc: Barry Song <v-songbaohua@oppo.com> Cc: Chao Yu <chao@kernel.org> Cc: Chris Li <chrisl@kernel.org> Cc: David Hildenbrand <david@redhat.com> Cc: David Howells <dhowells@redhat.com> Cc: Hugh Dickins <hughd@google.com> Cc: Ilya Dryomov <idryomov@gmail.com> Cc: Jaegeuk Kim <jaegeuk@kernel.org> Cc: Jeff Layton <jlayton@kernel.org> Cc: Marc Dionne <marc.dionne@auristor.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Minchan Kim <minchan@kernel.org> Cc: NeilBrown <neilb@suse.de> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com> Cc: Trond Myklebust <trond.myklebust@hammerspace.com> Cc: Xiubo Li <xiubli@redhat.com> Cc: Yosry Ahmed <yosryahmed@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
564a2ee9f9
commit
05b0c7edad
@ -2295,19 +2295,6 @@ static inline void *folio_address(const struct folio *folio)
|
||||
return page_address(&folio->page);
|
||||
}
|
||||
|
||||
extern pgoff_t __page_file_index(struct page *page);
|
||||
|
||||
/*
|
||||
* Return the pagecache index of the passed page. Regular pagecache pages
|
||||
* use ->index whereas swapcache pages use swp_offset(->private)
|
||||
*/
|
||||
static inline pgoff_t page_index(struct page *page)
|
||||
{
|
||||
if (unlikely(PageSwapCache(page)))
|
||||
return __page_file_index(page);
|
||||
return page->index;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return true only if the page has been allocated with
|
||||
* ALLOC_NO_WATERMARKS and the low watermark was not
|
||||
|
@ -792,7 +792,7 @@ static inline struct page *grab_cache_page_nowait(struct address_space *mapping,
|
||||
mapping_gfp_mask(mapping));
|
||||
}
|
||||
|
||||
#define swapcache_index(folio) __page_file_index(&(folio)->page)
|
||||
extern pgoff_t __folio_swap_cache_index(struct folio *folio);
|
||||
|
||||
/**
|
||||
* folio_index - File index of a folio.
|
||||
@ -807,9 +807,9 @@ static inline struct page *grab_cache_page_nowait(struct address_space *mapping,
|
||||
*/
|
||||
static inline pgoff_t folio_index(struct folio *folio)
|
||||
{
|
||||
if (unlikely(folio_test_swapcache(folio)))
|
||||
return swapcache_index(folio);
|
||||
return folio->index;
|
||||
if (unlikely(folio_test_swapcache(folio)))
|
||||
return __folio_swap_cache_index(folio);
|
||||
return folio->index;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3449,12 +3449,11 @@ struct address_space *swapcache_mapping(struct folio *folio)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(swapcache_mapping);
|
||||
|
||||
pgoff_t __page_file_index(struct page *page)
|
||||
pgoff_t __folio_swap_cache_index(struct folio *folio)
|
||||
{
|
||||
swp_entry_t swap = page_swap_entry(page);
|
||||
return swp_offset(swap);
|
||||
return swp_offset(folio->swap);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__page_file_index);
|
||||
EXPORT_SYMBOL_GPL(__folio_swap_cache_index);
|
||||
|
||||
/*
|
||||
* add_swap_count_continuation - called when a swap count is duplicated
|
||||
|
Loading…
Reference in New Issue
Block a user