mm/migrate, swap: drop usage of folio_index

This helper was used when swap cache was mixed with page cache.  Now they
are completely separate from each other, access to the swap cache is all
wrapped by the swap_cache_* helpers, which expect the folio's swap entry
as a parameter.

This helper is no longer used, remove the last redundant user and drop it.

Link: https://lkml.kernel.org/r/20251024-swap-clean-after-swap-table-p1-v2-4-a709469052e7@tencent.com
Signed-off-by: Kairui Song <kasong@tencent.com>
Acked-by: Chris Li <chrisl@kernel.org>
Acked-by: Nhat Pham <nphamcs@gmail.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: Baoquan He <bhe@redhat.com>
Cc: Barry Song <baohua@kernel.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: "Huang, Ying" <ying.huang@linux.alibaba.com>
Cc: Kemeng Shi <shikemeng@huaweicloud.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Kairui Song 2025-10-24 02:00:42 +08:00 committed by Andrew Morton
parent a983471cfc
commit ab61de9b78
2 changed files with 2 additions and 23 deletions

View File

@ -562,7 +562,7 @@ void pmd_migration_entry_wait(struct mm_struct *mm, pmd_t *pmd)
static int __folio_migrate_mapping(struct address_space *mapping, static int __folio_migrate_mapping(struct address_space *mapping,
struct folio *newfolio, struct folio *folio, int expected_count) struct folio *newfolio, struct folio *folio, int expected_count)
{ {
XA_STATE(xas, &mapping->i_pages, folio_index(folio)); XA_STATE(xas, &mapping->i_pages, folio->index);
struct swap_cluster_info *ci = NULL; struct swap_cluster_info *ci = NULL;
struct zone *oldzone, *newzone; struct zone *oldzone, *newzone;
int dirty; int dirty;
@ -715,7 +715,7 @@ EXPORT_SYMBOL(folio_migrate_mapping);
int migrate_huge_page_move_mapping(struct address_space *mapping, int migrate_huge_page_move_mapping(struct address_space *mapping,
struct folio *dst, struct folio *src) struct folio *dst, struct folio *src)
{ {
XA_STATE(xas, &mapping->i_pages, folio_index(src)); XA_STATE(xas, &mapping->i_pages, src->index);
int rc, expected_count = folio_expected_ref_count(src) + 1; int rc, expected_count = folio_expected_ref_count(src) + 1;
if (folio_ref_count(src) != expected_count) if (folio_ref_count(src) != expected_count)

View File

@ -445,25 +445,4 @@ static inline int non_swapcache_batch(swp_entry_t entry, int max_nr)
return 0; return 0;
} }
#endif /* CONFIG_SWAP */ #endif /* CONFIG_SWAP */
/**
* folio_index - File index of a folio.
* @folio: The folio.
*
* For a folio which is either in the page cache or the swap cache,
* return its index within the address_space it belongs to. If you know
* the folio is definitely in the page cache, you can look at the folio's
* index directly.
*
* Return: The index (offset in units of pages) of a folio in its file.
*/
static inline pgoff_t folio_index(struct folio *folio)
{
#ifdef CONFIG_SWAP
if (unlikely(folio_test_swapcache(folio)))
return swp_offset(folio->swap);
#endif
return folio->index;
}
#endif /* _MM_SWAP_H */ #endif /* _MM_SWAP_H */