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()
68 static void unset_migratetype_isolate(struct page *page, unsigned migratetype) in unset_migratetype_isolate() argument
75 struct page *buddy; in unset_migratetype_isolate()
77 zone = page_zone(page); in unset_migratetype_isolate()
79 if (!is_migrate_isolate_page(page)) in unset_migratetype_isolate()
90 if (PageBuddy(page)) { in unset_migratetype_isolate()
91 order = buddy_order(page); in unset_migratetype_isolate()
93 pfn = page_to_pfn(page); in unset_migratetype_isolate()
95 buddy = page + (buddy_pfn - pfn); in unset_migratetype_isolate()
99 __isolate_free_page(page, order); in unset_migratetype_isolate()
116 nr_pages = move_freepages_block(zone, page, migratetype, NULL); in unset_migratetype_isolate()
119 set_pageblock_migratetype(page, migratetype); in unset_migratetype_isolate()
121 __putback_isolated_page(page, order, migratetype); in unset_migratetype_isolate()
127 static inline struct page *
133 struct page *page; in __first_valid_page() local
135 page = pfn_to_online_page(pfn + i); in __first_valid_page()
136 if (!page) in __first_valid_page()
138 return page; in __first_valid_page()
188 struct page *page; in start_isolate_page_range() local
196 page = __first_valid_page(pfn, pageblock_nr_pages); in start_isolate_page_range()
197 if (page) { in start_isolate_page_range()
198 if (set_migratetype_isolate(page, migratetype, flags)) { in start_isolate_page_range()
209 struct page *page = pfn_to_online_page(pfn); in start_isolate_page_range() local
210 if (!page) in start_isolate_page_range()
212 unset_migratetype_isolate(page, migratetype); in start_isolate_page_range()
225 struct page *page; in undo_isolate_page_range() local
233 page = __first_valid_page(pfn, pageblock_nr_pages); in undo_isolate_page_range()
234 if (!page || !is_migrate_isolate_page(page)) in undo_isolate_page_range()
236 unset_migratetype_isolate(page, migratetype); in undo_isolate_page_range()
250 struct page *page; in __test_page_isolated_in_pageblock() local
257 page = pfn_to_page(pfn); in __test_page_isolated_in_pageblock()
258 if (PageBuddy(page)) in __test_page_isolated_in_pageblock()
264 pfn += 1 << buddy_order(page); in __test_page_isolated_in_pageblock()
265 else if ((flags & MEMORY_OFFLINE) && PageHWPoison(page)) in __test_page_isolated_in_pageblock()
268 else if ((flags & MEMORY_OFFLINE) && PageOffline(page) && in __test_page_isolated_in_pageblock()
269 !page_count(page)) in __test_page_isolated_in_pageblock()
288 struct page *page; in test_pages_isolated() local
297 page = __first_valid_page(pfn, pageblock_nr_pages); in test_pages_isolated()
298 if (page && !is_migrate_isolate_page(page)) in test_pages_isolated()
301 page = __first_valid_page(start_pfn, end_pfn - start_pfn); in test_pages_isolated()
302 if ((pfn < end_pfn) || !page) in test_pages_isolated()
305 zone = page_zone(page); in test_pages_isolated()