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()
97 isolated_page = !!__isolate_free_page(page, order); in unset_migratetype_isolate()
119 nr_pages = move_freepages_block(zone, page, migratetype, NULL); in unset_migratetype_isolate()
122 set_pageblock_migratetype(page, migratetype); in unset_migratetype_isolate()
124 __putback_isolated_page(page, order, migratetype); in unset_migratetype_isolate()
130 static inline struct page *
136 struct page *page; in __first_valid_page() local
138 page = pfn_to_online_page(pfn + i); in __first_valid_page()
139 if (!page) in __first_valid_page()
141 return page; in __first_valid_page()
191 struct page *page; in start_isolate_page_range() local
199 page = __first_valid_page(pfn, pageblock_nr_pages); in start_isolate_page_range()
200 if (page && set_migratetype_isolate(page, migratetype, flags)) { in start_isolate_page_range()
215 struct page *page; in undo_isolate_page_range() local
223 page = __first_valid_page(pfn, pageblock_nr_pages); in undo_isolate_page_range()
224 if (!page || !is_migrate_isolate_page(page)) in undo_isolate_page_range()
226 unset_migratetype_isolate(page, migratetype); in undo_isolate_page_range()
240 struct page *page; in __test_page_isolated_in_pageblock() local
243 page = pfn_to_page(pfn); in __test_page_isolated_in_pageblock()
244 if (PageBuddy(page)) in __test_page_isolated_in_pageblock()
250 pfn += 1 << buddy_order(page); in __test_page_isolated_in_pageblock()
251 else if ((flags & MEMORY_OFFLINE) && PageHWPoison(page)) in __test_page_isolated_in_pageblock()
254 else if ((flags & MEMORY_OFFLINE) && PageOffline(page) && in __test_page_isolated_in_pageblock()
255 !page_count(page)) in __test_page_isolated_in_pageblock()
274 struct page *page; in test_pages_isolated() local
284 page = __first_valid_page(pfn, pageblock_nr_pages); in test_pages_isolated()
285 if (page && !is_migrate_isolate_page(page)) in test_pages_isolated()
288 page = __first_valid_page(start_pfn, end_pfn - start_pfn); in test_pages_isolated()
289 if ((pfn < end_pfn) || !page) { in test_pages_isolated()
295 zone = page_zone(page); in test_pages_isolated()