Skip to content

Commit

Permalink
mm: drop page_index and simplify folio_index
Browse files Browse the repository at this point in the history
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/[email protected]
Signed-off-by: Kairui Song <[email protected]>
Reviewed-by: "Huang, Ying" <[email protected]>
Cc: Anna Schumaker <[email protected]>
Cc: Barry Song <[email protected]>
Cc: Chao Yu <[email protected]>
Cc: Chris Li <[email protected]>
Cc: David Hildenbrand <[email protected]>
Cc: David Howells <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Ilya Dryomov <[email protected]>
Cc: Jaegeuk Kim <[email protected]>
Cc: Jeff Layton <[email protected]>
Cc: Marc Dionne <[email protected]>
Cc: Matthew Wilcox (Oracle) <[email protected]>
Cc: Minchan Kim <[email protected]>
Cc: NeilBrown <[email protected]>
Cc: Ryan Roberts <[email protected]>
Cc: Ryusuke Konishi <[email protected]>
Cc: Trond Myklebust <[email protected]>
Cc: Xiubo Li <[email protected]>
Cc: Yosry Ahmed <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
  • Loading branch information
ryncsn authored and akpm00 committed Jul 4, 2024
1 parent 564a2ee commit 05b0c7e
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 21 deletions.
13 changes: 0 additions & 13 deletions include/linux/mm.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions include/linux/pagemap.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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;
}

/**
Expand Down
7 changes: 3 additions & 4 deletions mm/swapfile.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 05b0c7e

Please sign in to comment.