Lines Matching refs:newpage
383 struct page *newpage, struct page *page, int extra_count) in migrate_page_move_mapping() argument
397 newpage->index = page->index; in migrate_page_move_mapping()
398 newpage->mapping = page->mapping; in migrate_page_move_mapping()
400 __SetPageSwapBacked(newpage); in migrate_page_move_mapping()
406 newzone = page_zone(newpage); in migrate_page_move_mapping()
423 newpage->index = page->index; in migrate_page_move_mapping()
424 newpage->mapping = page->mapping; in migrate_page_move_mapping()
425 page_ref_add(newpage, nr); /* add cache reference */ in migrate_page_move_mapping()
427 __SetPageSwapBacked(newpage); in migrate_page_move_mapping()
429 SetPageSwapCache(newpage); in migrate_page_move_mapping()
430 set_page_private(newpage, page_private(page)); in migrate_page_move_mapping()
440 SetPageDirty(newpage); in migrate_page_move_mapping()
443 xas_store(&xas, newpage); in migrate_page_move_mapping()
449 xas_store(&xas, newpage); in migrate_page_move_mapping()
505 struct page *newpage, struct page *page) in migrate_huge_page_move_mapping() argument
522 newpage->index = page->index; in migrate_huge_page_move_mapping()
523 newpage->mapping = page->mapping; in migrate_huge_page_move_mapping()
525 get_page(newpage); in migrate_huge_page_move_mapping()
527 xas_store(&xas, newpage); in migrate_huge_page_move_mapping()
587 void migrate_page_states(struct page *newpage, struct page *page) in migrate_page_states() argument
591 trace_android_vh_migrate_page_states(page, newpage); in migrate_page_states()
594 SetPageError(newpage); in migrate_page_states()
596 SetPageReferenced(newpage); in migrate_page_states()
598 SetPageUptodate(newpage); in migrate_page_states()
601 SetPageActive(newpage); in migrate_page_states()
603 SetPageUnevictable(newpage); in migrate_page_states()
605 SetPageWorkingset(newpage); in migrate_page_states()
607 SetPageChecked(newpage); in migrate_page_states()
609 SetPageMappedToDisk(newpage); in migrate_page_states()
610 trace_android_vh_look_around_migrate_page(page, newpage); in migrate_page_states()
614 SetPageDirty(newpage); in migrate_page_states()
617 set_page_young(newpage); in migrate_page_states()
619 set_page_idle(newpage); in migrate_page_states()
626 page_cpupid_xchg_last(newpage, cpupid); in migrate_page_states()
628 ksm_migrate_page(newpage, page); in migrate_page_states()
642 if (PageWriteback(newpage)) in migrate_page_states()
643 end_page_writeback(newpage); in migrate_page_states()
651 SetPageReadahead(newpage); in migrate_page_states()
653 copy_page_owner(page, newpage); in migrate_page_states()
656 mem_cgroup_migrate(page, newpage); in migrate_page_states()
660 void migrate_page_copy(struct page *newpage, struct page *page) in migrate_page_copy() argument
663 copy_huge_page(newpage, page); in migrate_page_copy()
665 copy_highpage(newpage, page); in migrate_page_copy()
667 migrate_page_states(newpage, page); in migrate_page_copy()
682 struct page *newpage, struct page *page, in migrate_page() argument
689 rc = migrate_page_move_mapping(mapping, newpage, page, 0); in migrate_page()
695 migrate_page_copy(newpage, page); in migrate_page()
697 migrate_page_states(newpage, page); in migrate_page()
742 struct page *newpage, struct page *page, enum migrate_mode mode, in __buffer_migrate_page() argument
750 return migrate_page(mapping, newpage, page, mode); in __buffer_migrate_page()
788 rc = migrate_page_move_mapping(mapping, newpage, page, 0); in __buffer_migrate_page()
792 attach_page_private(newpage, detach_page_private(page)); in __buffer_migrate_page()
796 set_bh_page(bh, newpage, bh_offset(bh)); in __buffer_migrate_page()
802 migrate_page_copy(newpage, page); in __buffer_migrate_page()
804 migrate_page_states(newpage, page); in __buffer_migrate_page()
826 struct page *newpage, struct page *page, enum migrate_mode mode) in buffer_migrate_page() argument
828 return __buffer_migrate_page(mapping, newpage, page, mode, false); in buffer_migrate_page()
839 struct page *newpage, struct page *page, enum migrate_mode mode) in buffer_migrate_page_norefs() argument
841 return __buffer_migrate_page(mapping, newpage, page, mode, true); in buffer_migrate_page_norefs()
890 struct page *newpage, struct page *page, enum migrate_mode mode) in fallback_migrate_page() argument
912 return migrate_page(mapping, newpage, page, mode); in fallback_migrate_page()
926 static int move_to_new_page(struct page *newpage, struct page *page, in move_to_new_page() argument
934 VM_BUG_ON_PAGE(!PageLocked(newpage), newpage); in move_to_new_page()
940 rc = migrate_page(mapping, newpage, page, mode); in move_to_new_page()
949 rc = mapping->a_ops->migratepage(mapping, newpage, in move_to_new_page()
952 rc = fallback_migrate_page(mapping, newpage, in move_to_new_page()
966 rc = mapping->a_ops->migratepage(mapping, newpage, in move_to_new_page()
995 if (likely(!is_zone_device_page(newpage))) { in move_to_new_page()
996 int i, nr = compound_nr(newpage); in move_to_new_page()
999 flush_dcache_page(newpage + i); in move_to_new_page()
1006 static int __unmap_and_move(struct page *page, struct page *newpage, in __unmap_and_move() argument
1082 if (unlikely(!trylock_page(newpage))) in __unmap_and_move()
1086 rc = move_to_new_page(newpage, page, mode); in __unmap_and_move()
1117 rc = move_to_new_page(newpage, page, mode); in __unmap_and_move()
1121 rc == MIGRATEPAGE_SUCCESS ? newpage : page, false); in __unmap_and_move()
1124 unlock_page(newpage); in __unmap_and_move()
1142 put_page(newpage); in __unmap_and_move()
1144 putback_lru_page(newpage); in __unmap_and_move()
1161 struct page *newpage = NULL; in unmap_and_move() local
1179 newpage = get_new_page(page, private); in unmap_and_move()
1180 if (!newpage) in unmap_and_move()
1183 rc = __unmap_and_move(page, newpage, force, mode); in unmap_and_move()
1185 set_page_owner_migrate_reason(newpage, reason); in unmap_and_move()
1234 put_new_page(newpage, private); in unmap_and_move()
1236 put_page(newpage); in unmap_and_move()
2003 struct page *newpage; in alloc_misplaced_dst_page() local
2005 newpage = __alloc_pages_node(nid, in alloc_misplaced_dst_page()
2011 return newpage; in alloc_misplaced_dst_page()
2988 struct page *newpage = migrate_pfn_to_page(migrate->dst[i]); in migrate_vma_pages() local
2993 if (!newpage) { in migrate_vma_pages()
3011 migrate_vma_insert_page(migrate, addr, newpage, in migrate_vma_pages()
3019 if (is_zone_device_page(newpage)) { in migrate_vma_pages()
3020 if (is_device_private_page(newpage)) { in migrate_vma_pages()
3039 r = migrate_page(mapping, newpage, page, MIGRATE_SYNC_NO_COPY); in migrate_vma_pages()
3071 struct page *newpage = migrate_pfn_to_page(migrate->dst[i]); in migrate_vma_finalize() local
3075 if (newpage) { in migrate_vma_finalize()
3076 unlock_page(newpage); in migrate_vma_finalize()
3077 put_page(newpage); in migrate_vma_finalize()
3082 if (!(migrate->src[i] & MIGRATE_PFN_MIGRATE) || !newpage) { in migrate_vma_finalize()
3083 if (newpage) { in migrate_vma_finalize()
3084 unlock_page(newpage); in migrate_vma_finalize()
3085 put_page(newpage); in migrate_vma_finalize()
3087 newpage = page; in migrate_vma_finalize()
3090 remove_migration_ptes(page, newpage, false); in migrate_vma_finalize()
3098 if (newpage != page) { in migrate_vma_finalize()
3099 unlock_page(newpage); in migrate_vma_finalize()
3100 if (is_zone_device_page(newpage)) in migrate_vma_finalize()
3101 put_page(newpage); in migrate_vma_finalize()
3103 putback_lru_page(newpage); in migrate_vma_finalize()