Lines Matching refs:newpage
381 struct page *newpage, struct page *page, int extra_count) in migrate_page_move_mapping() argument
395 newpage->index = page->index; in migrate_page_move_mapping()
396 newpage->mapping = page->mapping; in migrate_page_move_mapping()
398 __SetPageSwapBacked(newpage); in migrate_page_move_mapping()
404 newzone = page_zone(newpage); in migrate_page_move_mapping()
421 newpage->index = page->index; in migrate_page_move_mapping()
422 newpage->mapping = page->mapping; in migrate_page_move_mapping()
423 page_ref_add(newpage, nr); /* add cache reference */ in migrate_page_move_mapping()
425 __SetPageSwapBacked(newpage); in migrate_page_move_mapping()
427 SetPageSwapCache(newpage); in migrate_page_move_mapping()
428 set_page_private(newpage, page_private(page)); in migrate_page_move_mapping()
438 SetPageDirty(newpage); in migrate_page_move_mapping()
441 xas_store(&xas, newpage); in migrate_page_move_mapping()
447 xas_store(&xas, newpage); in migrate_page_move_mapping()
509 struct page *newpage, struct page *page) in migrate_huge_page_move_mapping() argument
526 newpage->index = page->index; in migrate_huge_page_move_mapping()
527 newpage->mapping = page->mapping; in migrate_huge_page_move_mapping()
529 get_page(newpage); in migrate_huge_page_move_mapping()
531 xas_store(&xas, newpage); in migrate_huge_page_move_mapping()
543 void migrate_page_states(struct page *newpage, struct page *page) in migrate_page_states() argument
548 SetPageError(newpage); in migrate_page_states()
550 SetPageReferenced(newpage); in migrate_page_states()
552 SetPageUptodate(newpage); in migrate_page_states()
555 SetPageActive(newpage); in migrate_page_states()
557 SetPageUnevictable(newpage); in migrate_page_states()
559 SetPageWorkingset(newpage); in migrate_page_states()
561 SetPageChecked(newpage); in migrate_page_states()
563 SetPageMappedToDisk(newpage); in migrate_page_states()
567 SetPageDirty(newpage); in migrate_page_states()
570 set_page_young(newpage); in migrate_page_states()
572 set_page_idle(newpage); in migrate_page_states()
579 page_cpupid_xchg_last(newpage, cpupid); in migrate_page_states()
581 ksm_migrate_page(newpage, page); in migrate_page_states()
598 if (PageWriteback(newpage)) in migrate_page_states()
599 end_page_writeback(newpage); in migrate_page_states()
607 SetPageReadahead(newpage); in migrate_page_states()
609 copy_page_owner(page, newpage); in migrate_page_states()
612 mem_cgroup_migrate(page, newpage); in migrate_page_states()
616 void migrate_page_copy(struct page *newpage, struct page *page) in migrate_page_copy() argument
619 copy_huge_page(newpage, page); in migrate_page_copy()
621 copy_highpage(newpage, page); in migrate_page_copy()
623 migrate_page_states(newpage, page); in migrate_page_copy()
638 struct page *newpage, struct page *page, in migrate_page() argument
645 rc = migrate_page_move_mapping(mapping, newpage, page, 0); in migrate_page()
651 migrate_page_copy(newpage, page); in migrate_page()
653 migrate_page_states(newpage, page); in migrate_page()
698 struct page *newpage, struct page *page, enum migrate_mode mode, in __buffer_migrate_page() argument
706 return migrate_page(mapping, newpage, page, mode); in __buffer_migrate_page()
744 rc = migrate_page_move_mapping(mapping, newpage, page, 0); in __buffer_migrate_page()
748 attach_page_private(newpage, detach_page_private(page)); in __buffer_migrate_page()
752 set_bh_page(bh, newpage, bh_offset(bh)); in __buffer_migrate_page()
758 migrate_page_copy(newpage, page); in __buffer_migrate_page()
760 migrate_page_states(newpage, page); in __buffer_migrate_page()
782 struct page *newpage, struct page *page, enum migrate_mode mode) in buffer_migrate_page() argument
784 return __buffer_migrate_page(mapping, newpage, page, mode, false); in buffer_migrate_page()
795 struct page *newpage, struct page *page, enum migrate_mode mode) in buffer_migrate_page_norefs() argument
797 return __buffer_migrate_page(mapping, newpage, page, mode, true); in buffer_migrate_page_norefs()
846 struct page *newpage, struct page *page, enum migrate_mode mode) in fallback_migrate_page() argument
868 return migrate_page(mapping, newpage, page, mode); in fallback_migrate_page()
882 static int move_to_new_page(struct page *newpage, struct page *page, in move_to_new_page() argument
890 VM_BUG_ON_PAGE(!PageLocked(newpage), newpage); in move_to_new_page()
896 rc = migrate_page(mapping, newpage, page, mode); in move_to_new_page()
905 rc = mapping->a_ops->migratepage(mapping, newpage, in move_to_new_page()
908 rc = fallback_migrate_page(mapping, newpage, in move_to_new_page()
922 rc = mapping->a_ops->migratepage(mapping, newpage, in move_to_new_page()
951 if (likely(!is_zone_device_page(newpage))) in move_to_new_page()
952 flush_dcache_page(newpage); in move_to_new_page()
959 static int __unmap_and_move(struct page *page, struct page *newpage, in __unmap_and_move() argument
1035 if (unlikely(!trylock_page(newpage))) in __unmap_and_move()
1039 rc = move_to_new_page(newpage, page, mode); in __unmap_and_move()
1070 rc = move_to_new_page(newpage, page, mode); in __unmap_and_move()
1074 rc == MIGRATEPAGE_SUCCESS ? newpage : page, false); in __unmap_and_move()
1077 unlock_page(newpage); in __unmap_and_move()
1095 put_page(newpage); in __unmap_and_move()
1097 putback_lru_page(newpage); in __unmap_and_move()
1189 struct page *newpage = NULL; in unmap_and_move() local
1207 newpage = get_new_page(page, private); in unmap_and_move()
1208 if (!newpage) in unmap_and_move()
1211 rc = __unmap_and_move(page, newpage, force, mode); in unmap_and_move()
1213 set_page_owner_migrate_reason(newpage, reason); in unmap_and_move()
1250 put_new_page(newpage, private); in unmap_and_move()
1252 put_page(newpage); in unmap_and_move()
2081 struct page *newpage; in alloc_misplaced_dst_page() local
2083 newpage = __alloc_pages_node(nid, in alloc_misplaced_dst_page()
2089 return newpage; in alloc_misplaced_dst_page()
2096 struct page *newpage; in alloc_misplaced_dst_page_thp() local
2098 newpage = alloc_pages_node(nid, (GFP_TRANSHUGE_LIGHT | __GFP_THISNODE), in alloc_misplaced_dst_page_thp()
2100 if (!newpage) in alloc_misplaced_dst_page_thp()
2103 prep_transhuge_page(newpage); in alloc_misplaced_dst_page_thp()
2106 return newpage; in alloc_misplaced_dst_page_thp()
2949 struct page *newpage = migrate_pfn_to_page(migrate->dst[i]); in migrate_vma_pages() local
2954 if (!newpage) { in migrate_vma_pages()
2971 migrate_vma_insert_page(migrate, addr, newpage, in migrate_vma_pages()
2978 if (is_zone_device_page(newpage)) { in migrate_vma_pages()
2979 if (is_device_private_page(newpage)) { in migrate_vma_pages()
2998 r = migrate_page(mapping, newpage, page, MIGRATE_SYNC_NO_COPY); in migrate_vma_pages()
3030 struct page *newpage = migrate_pfn_to_page(migrate->dst[i]); in migrate_vma_finalize() local
3034 if (newpage) { in migrate_vma_finalize()
3035 unlock_page(newpage); in migrate_vma_finalize()
3036 put_page(newpage); in migrate_vma_finalize()
3041 if (!(migrate->src[i] & MIGRATE_PFN_MIGRATE) || !newpage) { in migrate_vma_finalize()
3042 if (newpage) { in migrate_vma_finalize()
3043 unlock_page(newpage); in migrate_vma_finalize()
3044 put_page(newpage); in migrate_vma_finalize()
3046 newpage = page; in migrate_vma_finalize()
3049 remove_migration_ptes(page, newpage, false); in migrate_vma_finalize()
3057 if (newpage != page) { in migrate_vma_finalize()
3058 unlock_page(newpage); in migrate_vma_finalize()
3059 if (is_zone_device_page(newpage)) in migrate_vma_finalize()
3060 put_page(newpage); in migrate_vma_finalize()
3062 putback_lru_page(newpage); in migrate_vma_finalize()