Lines Matching refs:page
44 struct page *page, *next; in release_freepages() local
47 list_for_each_entry_safe(page, next, freelist, lru) { in release_freepages()
48 unsigned long pfn = page_to_pfn(page); in release_freepages()
49 list_del(&page->lru); in release_freepages()
50 __free_page(page); in release_freepages()
60 struct page *page; in map_pages() local
62 list_for_each_entry(page, list, lru) { in map_pages()
63 arch_alloc_page(page, 0); in map_pages()
64 kernel_map_pages(page, 1, 1); in map_pages()
65 kasan_alloc_pages(page, 0); in map_pages()
91 static struct page *pageblock_pfn_to_page(unsigned long start_pfn, in pageblock_pfn_to_page()
94 struct page *start_page; in pageblock_pfn_to_page()
95 struct page *end_page; in pageblock_pfn_to_page()
191 struct page *page) in isolation_suitable() argument
196 return !get_pageblock_skip(page); in isolation_suitable()
221 struct page *page; in __reset_isolation_suitable() local
228 page = pfn_to_page(pfn); in __reset_isolation_suitable()
229 if (zone != page_zone(page)) in __reset_isolation_suitable()
232 clear_pageblock_skip(page); in __reset_isolation_suitable()
258 struct page *page, unsigned long nr_isolated, in update_pageblock_skip() argument
267 if (!page) in update_pageblock_skip()
273 set_pageblock_skip(page); in update_pageblock_skip()
275 pfn = page_to_pfn(page); in update_pageblock_skip()
291 struct page *page) in isolation_suitable() argument
297 struct page *page, unsigned long nr_isolated, in update_pageblock_skip() argument
401 struct page *cursor, *valid_page = NULL; in isolate_freepages_block()
411 struct page *page = cursor; in isolate_freepages_block() local
428 valid_page = page; in isolate_freepages_block()
436 if (PageCompound(page)) { in isolate_freepages_block()
437 unsigned int comp_order = compound_order(page); in isolate_freepages_block()
447 if (!PageBuddy(page)) in isolate_freepages_block()
472 if (!PageBuddy(page)) in isolate_freepages_block()
477 isolated = split_free_page(page); in isolate_freepages_block()
480 list_add(&page->lru, freelist); in isolate_freepages_block()
481 page++; in isolate_freepages_block()
617 struct page *page; in acct_isolated() local
623 list_for_each_entry(page, &cc->migratepages, lru) in acct_isolated()
624 count[!!page_is_file_cache(page)]++; in acct_isolated()
673 struct page *page = NULL, *valid_page = NULL; in isolate_migratepages_block() local
713 page = pfn_to_page(low_pfn); in isolate_migratepages_block()
716 valid_page = page; in isolate_migratepages_block()
724 if (PageBuddy(page)) { in isolate_migratepages_block()
725 unsigned long freepage_order = page_order_unsafe(page); in isolate_migratepages_block()
742 is_lru = PageLRU(page); in isolate_migratepages_block()
744 if (unlikely(balloon_page_movable(page))) { in isolate_migratepages_block()
745 if (balloon_page_isolate(page)) { in isolate_migratepages_block()
759 if (PageCompound(page)) { in isolate_migratepages_block()
760 unsigned int comp_order = compound_order(page); in isolate_migratepages_block()
776 if (!page_mapping(page) && in isolate_migratepages_block()
777 page_count(page) > page_mapcount(page)) in isolate_migratepages_block()
788 if (!PageLRU(page)) in isolate_migratepages_block()
796 if (unlikely(PageCompound(page))) { in isolate_migratepages_block()
797 low_pfn += (1UL << compound_order(page)) - 1; in isolate_migratepages_block()
802 lruvec = mem_cgroup_page_lruvec(page, zone); in isolate_migratepages_block()
805 if (__isolate_lru_page(page, isolate_mode) != 0) in isolate_migratepages_block()
808 VM_BUG_ON_PAGE(PageCompound(page), page); in isolate_migratepages_block()
811 del_page_from_lru_list(page, lruvec, page_lru(page)); in isolate_migratepages_block()
814 list_add(&page->lru, migratelist); in isolate_migratepages_block()
898 static bool suitable_migration_target(struct page *page) in suitable_migration_target() argument
901 if (PageBuddy(page)) { in suitable_migration_target()
907 if (page_order_unsafe(page) >= pageblock_order) in suitable_migration_target()
912 if (migrate_async_suitable(get_pageblock_migratetype(page))) in suitable_migration_target()
936 struct page *page; in isolate_freepages() local
979 page = pageblock_pfn_to_page(block_start_pfn, block_end_pfn, in isolate_freepages()
981 if (!page) in isolate_freepages()
985 if (!suitable_migration_target(page)) in isolate_freepages()
989 if (!isolation_suitable(cc, page)) in isolate_freepages()
1038 static struct page *compaction_alloc(struct page *migratepage, in compaction_alloc()
1043 struct page *freepage; in compaction_alloc()
1057 freepage = list_entry(cc->freepages.next, struct page, lru); in compaction_alloc()
1069 static void compaction_free(struct page *page, unsigned long data) in compaction_free() argument
1073 list_add(&page->lru, &cc->freepages); in compaction_free()
1100 struct page *page; in isolate_migratepages() local
1130 page = pageblock_pfn_to_page(low_pfn, end_pfn, zone); in isolate_migratepages()
1131 if (!page) in isolate_migratepages()
1135 if (!isolation_suitable(cc, page)) in isolate_migratepages()
1144 !migrate_async_suitable(get_pageblock_migratetype(page))) in isolate_migratepages()