mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 01:32:21 +02:00
mm: remove page_mapped()
Let's replace the last user of page_mapped() by folio_mapped() so we can get rid of page_mapped(). Replace the remaining occurrences of page_mapped() in rmap documentation by folio_mapped(). Link: https://lore.kernel.org/20260427-page_mapped-v1-3-e89c3592c74c@kernel.org Signed-off-by: David Hildenbrand (Arm) <david@kernel.org> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Alexei Starovoitov <ast@kernel.org> Cc: Andrii Nakryiko <andrii@kernel.org> Cc: Eduard Zingerman <eddyz87@gmail.com> Cc: Harry Yoo <harry@kernel.org> Cc: Jann Horn <jannh@google.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: Kumar Kartikeya Dwivedi <memxor@gmail.com> Cc: Liam R. Howlett <liam@infradead.org> Cc: Lorenzo Stoakes <ljs@kernel.org> Cc: Martin KaFai Lau <martin.lau@linux.dev> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Rich Felker <dalias@libc.org> Cc: Rik van Riel <riel@surriel.com> Cc: Song Liu <song@kernel.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Vlastimil Babka <vbabka@kernel.org> Cc: Yonghong Song <yonghong.song@linux.dev> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
88692f0c33
commit
90f01f5d6b
|
|
@ -1888,16 +1888,6 @@ static inline bool folio_mapped(const struct folio *folio)
|
|||
return folio_mapcount(folio) >= 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return true if this page is mapped into pagetables.
|
||||
* For compound page it returns true if any sub-page of compound page is mapped,
|
||||
* even if this particular sub-page is not itself mapped by any PTE or PMD.
|
||||
*/
|
||||
static inline bool page_mapped(const struct page *page)
|
||||
{
|
||||
return folio_mapped(page_folio(page));
|
||||
}
|
||||
|
||||
static inline struct page *virt_to_head_page(const void *x)
|
||||
{
|
||||
struct page *page = virt_to_page(x);
|
||||
|
|
|
|||
|
|
@ -5482,7 +5482,7 @@ static vm_fault_t __do_fault(struct vm_fault *vmf)
|
|||
if (unlikely(PageHWPoison(vmf->page))) {
|
||||
vm_fault_t poisonret = VM_FAULT_HWPOISON;
|
||||
if (ret & VM_FAULT_LOCKED) {
|
||||
if (page_mapped(vmf->page))
|
||||
if (folio_mapped(folio))
|
||||
unmap_mapping_folio(folio);
|
||||
/* Retry if a clean folio was removed from the cache. */
|
||||
if (mapping_evict_folio(folio->mapping, folio))
|
||||
|
|
|
|||
|
|
@ -571,7 +571,7 @@ void __init anon_vma_init(void)
|
|||
* In case it was remapped to a different anon_vma, the new anon_vma will be a
|
||||
* child of the old anon_vma, and the anon_vma lifetime rules will therefore
|
||||
* ensure that any anon_vma obtained from the page will still be valid for as
|
||||
* long as we observe page_mapped() [ hence all those page_mapped() tests ].
|
||||
* long as we observe folio_mapped() [ hence all those folio_mapped() tests ].
|
||||
*
|
||||
* All users of this function must be very careful when walking the anon_vma
|
||||
* chain and verify that the page in question is indeed mapped in it
|
||||
|
|
@ -1999,7 +1999,7 @@ static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma,
|
|||
/*
|
||||
* When racing against e.g. zap_pte_range() on another cpu,
|
||||
* in between its ptep_get_and_clear_full() and folio_remove_rmap_*(),
|
||||
* try_to_unmap() may return before page_mapped() has become false,
|
||||
* try_to_unmap() may return before folio_mapped() has become false,
|
||||
* if page table locking is skipped: use TTU_SYNC to wait for that.
|
||||
*/
|
||||
if (flags & TTU_SYNC)
|
||||
|
|
@ -2428,7 +2428,7 @@ static bool try_to_migrate_one(struct folio *folio, struct vm_area_struct *vma,
|
|||
/*
|
||||
* When racing against e.g. zap_pte_range() on another cpu,
|
||||
* in between its ptep_get_and_clear_full() and folio_remove_rmap_*(),
|
||||
* try_to_migrate() may return before page_mapped() has become false,
|
||||
* try_to_migrate() may return before folio_mapped() has become false,
|
||||
* if page table locking is skipped: use TTU_SYNC to wait for that.
|
||||
*/
|
||||
if (flags & TTU_SYNC)
|
||||
|
|
@ -2929,7 +2929,7 @@ static struct anon_vma *rmap_walk_anon_lock(const struct folio *folio,
|
|||
|
||||
/*
|
||||
* Note: remove_migration_ptes() cannot use folio_lock_anon_vma_read()
|
||||
* because that depends on page_mapped(); but not all its usages
|
||||
* because that depends on folio_mapped(); but not all its usages
|
||||
* are holding mmap_lock. Users without mmap_lock are required to
|
||||
* take a reference count to prevent the anon_vma disappearing
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user