Lines Matching refs:page

55 	struct page *page, *next;  in release_freepages()  local
58 list_for_each_entry_safe(page, next, freelist, lru) { in release_freepages()
59 unsigned long pfn = page_to_pfn(page); in release_freepages()
60 list_del(&page->lru); in release_freepages()
61 __free_page(page); in release_freepages()
71 struct page *page; in map_pages() local
73 list_for_each_entry(page, list, lru) { in map_pages()
74 arch_alloc_page(page, 0); in map_pages()
75 kernel_map_pages(page, 1, 1); in map_pages()
76 kasan_alloc_pages(page, 0); in map_pages()
102 static struct page *pageblock_pfn_to_page(unsigned long start_pfn, in pageblock_pfn_to_page()
105 struct page *start_page; in pageblock_pfn_to_page()
106 struct page *end_page; in pageblock_pfn_to_page()
202 struct page *page) in isolation_suitable() argument
207 return !get_pageblock_skip(page); in isolation_suitable()
228 struct page *page; in __reset_isolation_suitable() local
235 page = pfn_to_page(pfn); in __reset_isolation_suitable()
236 if (zone != page_zone(page)) in __reset_isolation_suitable()
239 clear_pageblock_skip(page); in __reset_isolation_suitable()
263 struct page *page, unsigned long nr_isolated, in update_pageblock_skip() argument
272 if (!page) in update_pageblock_skip()
278 set_pageblock_skip(page); in update_pageblock_skip()
280 pfn = page_to_pfn(page); in update_pageblock_skip()
296 struct page *page) in isolation_suitable() argument
302 struct page *page, unsigned long nr_isolated, in update_pageblock_skip() argument
406 struct page *cursor, *valid_page = NULL; in isolate_freepages_block()
416 struct page *page = cursor; in isolate_freepages_block() local
433 valid_page = page; in isolate_freepages_block()
434 if (!PageBuddy(page)) in isolate_freepages_block()
459 if (!PageBuddy(page)) in isolate_freepages_block()
464 isolated = split_free_page(page); in isolate_freepages_block()
467 list_add(&page->lru, freelist); in isolate_freepages_block()
468 page++; in isolate_freepages_block()
597 struct page *page; in acct_isolated() local
603 list_for_each_entry(page, &cc->migratepages, lru) in acct_isolated()
604 count[!!page_is_file_cache(page)]++; in acct_isolated()
653 struct page *page = NULL, *valid_page = NULL; in isolate_migratepages_block() local
691 page = pfn_to_page(low_pfn); in isolate_migratepages_block()
694 valid_page = page; in isolate_migratepages_block()
702 if (PageBuddy(page)) { in isolate_migratepages_block()
703 unsigned long freepage_order = page_order_unsafe(page); in isolate_migratepages_block()
720 if (!PageLRU(page)) { in isolate_migratepages_block()
721 if (unlikely(balloon_page_movable(page))) { in isolate_migratepages_block()
722 if (balloon_page_isolate(page)) { in isolate_migratepages_block()
740 if (PageTransHuge(page)) { in isolate_migratepages_block()
745 low_pfn += (1 << compound_order(page)) - 1; in isolate_migratepages_block()
755 if (!page_mapping(page) && in isolate_migratepages_block()
756 page_count(page) > page_mapcount(page)) in isolate_migratepages_block()
767 if (!PageLRU(page)) in isolate_migratepages_block()
769 if (PageTransHuge(page)) { in isolate_migratepages_block()
770 low_pfn += (1 << compound_order(page)) - 1; in isolate_migratepages_block()
775 lruvec = mem_cgroup_page_lruvec(page, zone); in isolate_migratepages_block()
778 if (__isolate_lru_page(page, isolate_mode) != 0) in isolate_migratepages_block()
781 VM_BUG_ON_PAGE(PageTransCompound(page), page); in isolate_migratepages_block()
784 del_page_from_lru_list(page, lruvec, page_lru(page)); in isolate_migratepages_block()
787 list_add(&page->lru, migratelist); in isolate_migratepages_block()
871 static bool suitable_migration_target(struct page *page) in suitable_migration_target() argument
874 if (PageBuddy(page)) { in suitable_migration_target()
880 if (page_order_unsafe(page) >= pageblock_order) in suitable_migration_target()
885 if (migrate_async_suitable(get_pageblock_migratetype(page))) in suitable_migration_target()
899 struct page *page; in isolate_freepages() local
943 page = pageblock_pfn_to_page(block_start_pfn, block_end_pfn, in isolate_freepages()
945 if (!page) in isolate_freepages()
949 if (!suitable_migration_target(page)) in isolate_freepages()
953 if (!isolation_suitable(cc, page)) in isolate_freepages()
996 static struct page *compaction_alloc(struct page *migratepage, in compaction_alloc()
1001 struct page *freepage; in compaction_alloc()
1015 freepage = list_entry(cc->freepages.next, struct page, lru); in compaction_alloc()
1027 static void compaction_free(struct page *page, unsigned long data) in compaction_free() argument
1031 list_add(&page->lru, &cc->freepages); in compaction_free()
1057 struct page *page; in isolate_migratepages() local
1087 page = pageblock_pfn_to_page(low_pfn, end_pfn, zone); in isolate_migratepages()
1088 if (!page) in isolate_migratepages()
1092 if (!isolation_suitable(cc, page)) in isolate_migratepages()
1101 !migrate_async_suitable(get_pageblock_migratetype(page))) in isolate_migratepages()