mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable.git
synced 2025-09-25 16:49:33 +10:00
mm: move folio_index to mm/swap.h and remove no longer needed helper
There are no remaining users of folio_index() outside the mm subsystem. Move it to mm/swap.h to co-locate it with swap_cache_index(), eliminating a forward declaration, and a function call overhead. Also remove the helper that was used to fix circular header dependency issue. Link: https://lkml.kernel.org/r/20250430181052.55698-6-ryncsn@gmail.com Signed-off-by: Kairui Song <kasong@tencent.com> Acked-by: David Hildenbrand <david@redhat.com> Cc: Chao Yu <chao@kernel.org> Cc: Chris Li <chrisl@kernel.org> Cc: Chris Mason <clm@fb.com> Cc: Christian Brauner <brauner@kernel.org> Cc: David Sterba <dsterba@suse.com> Cc: "Huang, Ying" <ying.huang@linux.alibaba.com> Cc: Hugh Dickins <hughd@google.com> Cc: Jaegeuk Kim <jaegeuk@kernel.org> Cc: Joanne Koong <joannelkoong@gmail.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Josef Bacik <josef@toxicpanda.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Miklos Szeredi <miklos@szeredi.hu> Cc: Nhat Pham <nphamcs@gmail.com> Cc: Qu Wenruo <wqu@suse.com> Cc: Yosry Ahmed <yosryahmed@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
2b80f633c3
commit
7d0f0f0615
@ -884,26 +884,6 @@ static inline struct page *grab_cache_page_nowait(struct address_space *mapping,
|
||||
mapping_gfp_mask(mapping));
|
||||
}
|
||||
|
||||
extern pgoff_t __folio_swap_cache_index(struct folio *folio);
|
||||
|
||||
/**
|
||||
* 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 page 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)
|
||||
{
|
||||
if (unlikely(folio_test_swapcache(folio)))
|
||||
return __folio_swap_cache_index(folio);
|
||||
return folio->index;
|
||||
}
|
||||
|
||||
/**
|
||||
* folio_next_index - Get the index of the next folio.
|
||||
* @folio: The current folio.
|
||||
|
1
mm/gup.c
1
mm/gup.c
@ -26,6 +26,7 @@
|
||||
#include <asm/tlbflush.h>
|
||||
|
||||
#include "internal.h"
|
||||
#include "swap.h"
|
||||
|
||||
struct follow_page_context {
|
||||
struct dev_pagemap *pgmap;
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <linux/memfd.h>
|
||||
#include <linux/pid_namespace.h>
|
||||
#include <uapi/linux/memfd.h>
|
||||
#include "swap.h"
|
||||
|
||||
/*
|
||||
* We need a tag: a new tag would expand every xa_node by 8 bytes,
|
||||
|
@ -50,6 +50,7 @@
|
||||
#include <trace/events/migrate.h>
|
||||
|
||||
#include "internal.h"
|
||||
#include "swap.h"
|
||||
|
||||
bool isolate_movable_page(struct page *page, isolate_mode_t mode)
|
||||
{
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include <trace/events/writeback.h>
|
||||
|
||||
#include "internal.h"
|
||||
#include "swap.h"
|
||||
|
||||
/*
|
||||
* Sleep at most 200ms at a time in balance_dirty_pages().
|
||||
|
18
mm/swap.h
18
mm/swap.h
@ -201,4 +201,22 @@ static inline int swap_zeromap_batch(swp_entry_t entry, int max_nr,
|
||||
|
||||
#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)
|
||||
{
|
||||
if (unlikely(folio_test_swapcache(folio)))
|
||||
return swap_cache_index(folio->swap);
|
||||
return folio->index;
|
||||
}
|
||||
|
||||
#endif /* _MM_SWAP_H */
|
||||
|
@ -3671,12 +3671,6 @@ struct address_space *swapcache_mapping(struct folio *folio)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(swapcache_mapping);
|
||||
|
||||
pgoff_t __folio_swap_cache_index(struct folio *folio)
|
||||
{
|
||||
return swap_cache_index(folio->swap);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__folio_swap_cache_index);
|
||||
|
||||
/*
|
||||
* add_swap_count_continuation - called when a swap count is duplicated
|
||||
* beyond SWAP_MAP_MAX, it allocates a new page and links that to the entry's
|
||||
|
Loading…
Reference in New Issue
Block a user