Lines Matching refs:page

18 static int set_migratetype_isolate(struct page *page, int migratetype, int isol_flags)  in set_migratetype_isolate()  argument
20 struct zone *zone = page_zone(page); in set_migratetype_isolate()
21 struct page *unmovable; in set_migratetype_isolate()
31 if (is_migrate_isolate_page(page)) { in set_migratetype_isolate()
40 unmovable = has_unmovable_pages(zone, page, migratetype, isol_flags); in set_migratetype_isolate()
43 int mt = get_pageblock_migratetype(page); in set_migratetype_isolate()
45 set_pageblock_migratetype(page, MIGRATE_ISOLATE); in set_migratetype_isolate()
47 nr_pages = move_freepages_block(zone, page, MIGRATE_ISOLATE, in set_migratetype_isolate()
67 static void unset_migratetype_isolate(struct page *page, unsigned migratetype) in unset_migratetype_isolate() argument
74 struct page *buddy; in unset_migratetype_isolate()
76 zone = page_zone(page); in unset_migratetype_isolate()
78 if (!is_migrate_isolate_page(page)) in unset_migratetype_isolate()
89 if (PageBuddy(page)) { in unset_migratetype_isolate()
90 order = buddy_order(page); in unset_migratetype_isolate()
92 pfn = page_to_pfn(page); in unset_migratetype_isolate()
94 buddy = page + (buddy_pfn - pfn); in unset_migratetype_isolate()
98 __isolate_free_page(page, order); in unset_migratetype_isolate()
115 nr_pages = move_freepages_block(zone, page, migratetype, NULL); in unset_migratetype_isolate()
118 set_pageblock_migratetype(page, migratetype); in unset_migratetype_isolate()
120 __putback_isolated_page(page, order, migratetype); in unset_migratetype_isolate()
126 static inline struct page *
132 struct page *page; in __first_valid_page() local
134 page = pfn_to_online_page(pfn + i); in __first_valid_page()
135 if (!page) in __first_valid_page()
137 return page; in __first_valid_page()
189 struct page *page; in start_isolate_page_range() local
197 page = __first_valid_page(pfn, pageblock_nr_pages); in start_isolate_page_range()
198 if (page) { in start_isolate_page_range()
199 if (set_migratetype_isolate(page, migratetype, flags)) { in start_isolate_page_range()
202 *failed_pfn = page_to_pfn(page); in start_isolate_page_range()
212 struct page *page = pfn_to_online_page(pfn); in start_isolate_page_range() local
213 if (!page) in start_isolate_page_range()
215 unset_migratetype_isolate(page, migratetype); in start_isolate_page_range()
228 struct page *page; in undo_isolate_page_range() local
236 page = __first_valid_page(pfn, pageblock_nr_pages); in undo_isolate_page_range()
237 if (!page || !is_migrate_isolate_page(page)) in undo_isolate_page_range()
239 unset_migratetype_isolate(page, migratetype); in undo_isolate_page_range()
253 struct page *page; in __test_page_isolated_in_pageblock() local
260 page = pfn_to_page(pfn); in __test_page_isolated_in_pageblock()
261 if (PageBuddy(page)) in __test_page_isolated_in_pageblock()
267 pfn += 1 << buddy_order(page); in __test_page_isolated_in_pageblock()
268 else if ((flags & MEMORY_OFFLINE) && PageHWPoison(page)) in __test_page_isolated_in_pageblock()
271 else if ((flags & MEMORY_OFFLINE) && PageOffline(page) && in __test_page_isolated_in_pageblock()
272 !page_count(page)) in __test_page_isolated_in_pageblock()
284 dump_page_owner(page); in __test_page_isolated_in_pageblock()
295 struct page *page; in test_pages_isolated() local
304 page = __first_valid_page(pfn, pageblock_nr_pages); in test_pages_isolated()
305 if (page && !is_migrate_isolate_page(page)) in test_pages_isolated()
308 page = __first_valid_page(start_pfn, end_pfn - start_pfn); in test_pages_isolated()
309 if ((pfn < end_pfn) || !page) in test_pages_isolated()
312 zone = page_zone(page); in test_pages_isolated()