Lines Matching refs:page
47 static void generic_online_page(struct page *page);
158 void get_page_bootmem(unsigned long info, struct page *page, in get_page_bootmem() argument
161 page->lru.next = (struct list_head *) type; in get_page_bootmem()
162 SetPagePrivate(page); in get_page_bootmem()
163 set_page_private(page, info); in get_page_bootmem()
164 atomic_inc(&page->_count); in get_page_bootmem()
167 void put_page_bootmem(struct page *page) in put_page_bootmem() argument
171 type = (unsigned long) page->lru.next; in put_page_bootmem()
175 if (atomic_dec_return(&page->_count) == 1) { in put_page_bootmem()
176 ClearPagePrivate(page); in put_page_bootmem()
177 set_page_private(page, 0); in put_page_bootmem()
178 INIT_LIST_HEAD(&page->lru); in put_page_bootmem()
179 free_reserved_page(page); in put_page_bootmem()
189 struct page *page, *memmap; in register_page_bootmem_info_section() local
201 page = virt_to_page(memmap); in register_page_bootmem_info_section()
202 mapsize = sizeof(struct page) * PAGES_PER_SECTION; in register_page_bootmem_info_section()
206 for (i = 0; i < mapsize; i++, page++) in register_page_bootmem_info_section()
207 get_page_bootmem(section_nr, page, SECTION_INFO); in register_page_bootmem_info_section()
210 page = virt_to_page(usemap); in register_page_bootmem_info_section()
214 for (i = 0; i < mapsize; i++, page++) in register_page_bootmem_info_section()
215 get_page_bootmem(section_nr, page, MIX_SECTION_INFO); in register_page_bootmem_info_section()
223 struct page *page, *memmap; in register_page_bootmem_info_section() local
236 page = virt_to_page(usemap); in register_page_bootmem_info_section()
240 for (i = 0; i < mapsize; i++, page++) in register_page_bootmem_info_section()
241 get_page_bootmem(section_nr, page, MIX_SECTION_INFO); in register_page_bootmem_info_section()
249 struct page *page; in register_page_bootmem_info_node() local
253 page = virt_to_page(pgdat); in register_page_bootmem_info_node()
255 for (i = 0; i < nr_pages; i++, page++) in register_page_bootmem_info_node()
256 get_page_bootmem(node, page, NODE_INFO); in register_page_bootmem_info_node()
264 page = virt_to_page(zone->wait_table); in register_page_bootmem_info_node()
266 for (i = 0; i < nr_pages; i++, page++) in register_page_bootmem_info_node()
267 get_page_bootmem(node, page, NODE_INFO); in register_page_bootmem_info_node()
830 void __online_page_set_limits(struct page *page) in __online_page_set_limits() argument
835 void __online_page_increment_counters(struct page *page) in __online_page_increment_counters() argument
837 adjust_managed_page_count(page, 1); in __online_page_increment_counters()
841 void __online_page_free(struct page *page) in __online_page_free() argument
843 __free_reserved_page(page); in __online_page_free()
847 static void generic_online_page(struct page *page) in generic_online_page() argument
849 __online_page_set_limits(page); in generic_online_page()
850 __online_page_increment_counters(page); in generic_online_page()
851 __online_page_free(page); in generic_online_page()
859 struct page *page; in online_pages_range() local
862 page = pfn_to_page(start_pfn + i); in online_pages_range()
863 (*online_page_callback)(page); in online_pages_range()
1294 static inline int pageblock_free(struct page *page) in pageblock_free() argument
1296 return PageBuddy(page) && page_order(page) >= pageblock_order; in pageblock_free()
1300 static struct page *next_active_pageblock(struct page *page) in next_active_pageblock() argument
1303 BUG_ON(page_to_pfn(page) & (pageblock_nr_pages - 1)); in next_active_pageblock()
1306 if (pageblock_free(page)) { in next_active_pageblock()
1309 order = page_order(page); in next_active_pageblock()
1311 return page + (1 << order); in next_active_pageblock()
1314 return page + pageblock_nr_pages; in next_active_pageblock()
1320 struct page *page = pfn_to_page(start_pfn); in is_mem_section_removable() local
1321 struct page *end_page = page + nr_pages; in is_mem_section_removable()
1324 for (; page < end_page; page = next_active_pageblock(page)) { in is_mem_section_removable()
1325 if (!is_pageblock_removable_nolock(page)) in is_mem_section_removable()
1341 struct page *page; in test_pages_in_a_zone() local
1352 page = pfn_to_page(pfn + i); in test_pages_in_a_zone()
1353 if (zone && page_zone(page) != zone) in test_pages_in_a_zone()
1355 zone = page_zone(page); in test_pages_in_a_zone()
1369 struct page *page; in scan_movable_pages() local
1372 page = pfn_to_page(pfn); in scan_movable_pages()
1373 if (PageLRU(page)) in scan_movable_pages()
1375 if (PageHuge(page)) { in scan_movable_pages()
1376 if (page_huge_active(page)) in scan_movable_pages()
1380 1 << compound_order(page)) - 1; in scan_movable_pages()
1392 struct page *page; in do_migrate_range() local
1401 page = pfn_to_page(pfn); in do_migrate_range()
1403 if (PageHuge(page)) { in do_migrate_range()
1404 struct page *head = compound_head(page); in do_migrate_range()
1410 if (isolate_huge_page(page, &source)) in do_migrate_range()
1415 if (!get_page_unless_zero(page)) in do_migrate_range()
1421 ret = isolate_lru_page(page); in do_migrate_range()
1423 put_page(page); in do_migrate_range()
1424 list_add_tail(&page->lru, &source); in do_migrate_range()
1426 inc_zone_page_state(page, NR_ISOLATED_ANON + in do_migrate_range()
1427 page_is_file_cache(page)); in do_migrate_range()
1433 dump_page(page, "failed to remove from LRU"); in do_migrate_range()
1435 put_page(page); in do_migrate_range()
1438 if (page_count(page)) { in do_migrate_range()