Lines Matching refs:start_pfn
185 static void register_page_bootmem_info_section(unsigned long start_pfn) in register_page_bootmem_info_section() argument
191 section_nr = pfn_to_section_nr(start_pfn); in register_page_bootmem_info_section()
219 static void register_page_bootmem_info_section(unsigned long start_pfn) in register_page_bootmem_info_section() argument
225 if (!pfn_valid(start_pfn)) in register_page_bootmem_info_section()
228 section_nr = pfn_to_section_nr(start_pfn); in register_page_bootmem_info_section()
288 static void __meminit grow_zone_span(struct zone *zone, unsigned long start_pfn, in grow_zone_span() argument
296 if (zone_is_empty(zone) || start_pfn < zone->zone_start_pfn) in grow_zone_span()
297 zone->zone_start_pfn = start_pfn; in grow_zone_span()
305 static void resize_zone(struct zone *zone, unsigned long start_pfn, in resize_zone() argument
310 if (end_pfn - start_pfn) { in resize_zone()
311 zone->zone_start_pfn = start_pfn; in resize_zone()
312 zone->spanned_pages = end_pfn - start_pfn; in resize_zone()
325 static void fix_zone_id(struct zone *zone, unsigned long start_pfn, in fix_zone_id() argument
332 for (pfn = start_pfn; pfn < end_pfn; pfn++) in fix_zone_id()
339 unsigned long start_pfn, unsigned long num_pages) in ensure_zone_is_initialized() argument
342 return init_currently_empty_zone(zone, start_pfn, num_pages); in ensure_zone_is_initialized()
348 unsigned long start_pfn, unsigned long end_pfn) in move_pfn_range_left() argument
354 ret = ensure_zone_is_initialized(z1, start_pfn, end_pfn - start_pfn); in move_pfn_range_left()
364 if (start_pfn > z2->zone_start_pfn) in move_pfn_range_left()
374 z1_start_pfn = start_pfn; in move_pfn_range_left()
381 fix_zone_id(z1, start_pfn, end_pfn); in move_pfn_range_left()
390 unsigned long start_pfn, unsigned long end_pfn) in move_pfn_range_right() argument
396 ret = ensure_zone_is_initialized(z2, start_pfn, end_pfn - start_pfn); in move_pfn_range_right()
403 if (z1->zone_start_pfn > start_pfn) in move_pfn_range_right()
409 if (start_pfn >= zone_end_pfn(z1)) in move_pfn_range_right()
418 resize_zone(z1, z1->zone_start_pfn, start_pfn); in move_pfn_range_right()
419 resize_zone(z2, start_pfn, z2_end_pfn); in move_pfn_range_right()
423 fix_zone_id(z2, start_pfn, end_pfn); in move_pfn_range_right()
431 static void __meminit grow_pgdat_span(struct pglist_data *pgdat, unsigned long start_pfn, in grow_pgdat_span() argument
436 if (!pgdat->node_spanned_pages || start_pfn < pgdat->node_start_pfn) in grow_pgdat_span()
437 pgdat->node_start_pfn = start_pfn; in grow_pgdat_span()
533 unsigned long start_pfn, in find_smallest_section_pfn() argument
538 for (; start_pfn < end_pfn; start_pfn += PAGES_PER_SECTION) { in find_smallest_section_pfn()
539 ms = __pfn_to_section(start_pfn); in find_smallest_section_pfn()
544 if (unlikely(pfn_to_nid(start_pfn) != nid)) in find_smallest_section_pfn()
547 if (zone && zone != page_zone(pfn_to_page(start_pfn))) in find_smallest_section_pfn()
550 return start_pfn; in find_smallest_section_pfn()
558 unsigned long start_pfn, in find_biggest_section_pfn() argument
566 for (; pfn >= start_pfn; pfn -= PAGES_PER_SECTION) { in find_biggest_section_pfn()
584 static void shrink_zone_span(struct zone *zone, unsigned long start_pfn, in shrink_zone_span() argument
595 if (zone_start_pfn == start_pfn) { in shrink_zone_span()
616 start_pfn); in shrink_zone_span()
638 if (start_pfn == pfn) in shrink_zone_span()
653 unsigned long start_pfn, unsigned long end_pfn) in shrink_pgdat_span() argument
662 if (pgdat_start_pfn == start_pfn) { in shrink_pgdat_span()
683 start_pfn); in shrink_pgdat_span()
706 if (start_pfn == pfn) in shrink_pgdat_span()
718 static void __remove_zone(struct zone *zone, unsigned long start_pfn) in __remove_zone() argument
728 shrink_zone_span(zone, start_pfn, start_pfn + nr_pages); in __remove_zone()
729 shrink_pgdat_span(pgdat, start_pfn, start_pfn + nr_pages); in __remove_zone()
735 unsigned long start_pfn; in __remove_section() local
747 start_pfn = section_nr_to_pfn(scn_nr); in __remove_section()
748 __remove_zone(zone, start_pfn); in __remove_section()
866 static int online_pages_range(unsigned long start_pfn, unsigned long nr_pages, in online_pages_range() argument
872 if (PageReserved(pfn_to_page(start_pfn))) in online_pages_range()
874 page = pfn_to_page(start_pfn + i); in online_pages_range()
1011 arg.start_pfn = pfn; in online_pages()
1095 unsigned long start_pfn = PFN_DOWN(start); in hotadd_new_pgdat() local
1113 free_area_init_node(nid, zones_size, start_pfn, zholes_size); in hotadd_new_pgdat()
1186 u64 start_pfn = PFN_DOWN(start); in check_hotplug_memory_range() local
1190 if ((start_pfn & ~PAGE_SECTION_MASK) || in check_hotplug_memory_range()
1208 unsigned long start_pfn = start >> PAGE_SHIFT; in should_add_memory_movable() local
1215 if (movable_zone->zone_start_pfn <= start_pfn) in should_add_memory_movable()
1357 int is_mem_section_removable(unsigned long start_pfn, unsigned long nr_pages) in is_mem_section_removable() argument
1359 struct page *page = pfn_to_page(start_pfn); in is_mem_section_removable()
1376 int test_pages_in_a_zone(unsigned long start_pfn, unsigned long end_pfn) in test_pages_in_a_zone() argument
1382 for (pfn = start_pfn, sec_end_pfn = SECTION_ALIGN_UP(start_pfn); in test_pages_in_a_zone()
1435 do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) in do_migrate_range() argument
1444 for (pfn = start_pfn; pfn < end_pfn && move_pages > 0; pfn++) { in do_migrate_range()
1522 offline_isolated_pages(unsigned long start_pfn, unsigned long end_pfn) in offline_isolated_pages() argument
1524 walk_system_ram_range(start_pfn, end_pfn - start_pfn, NULL, in offline_isolated_pages()
1532 check_pages_isolated_cb(unsigned long start_pfn, unsigned long nr_pages, in check_pages_isolated_cb() argument
1537 ret = test_pages_isolated(start_pfn, start_pfn + nr_pages, true); in check_pages_isolated_cb()
1545 check_pages_isolated(unsigned long start_pfn, unsigned long end_pfn) in check_pages_isolated() argument
1550 ret = walk_system_ram_range(start_pfn, end_pfn - start_pfn, &offlined, in check_pages_isolated()
1714 static int __ref __offline_pages(unsigned long start_pfn, in __offline_pages() argument
1725 if (!IS_ALIGNED(start_pfn, pageblock_nr_pages)) in __offline_pages()
1731 if (!test_pages_in_a_zone(start_pfn, end_pfn)) in __offline_pages()
1734 zone = page_zone(pfn_to_page(start_pfn)); in __offline_pages()
1736 nr_pages = end_pfn - start_pfn; in __offline_pages()
1742 ret = start_isolate_page_range(start_pfn, end_pfn, in __offline_pages()
1747 arg.start_pfn = start_pfn; in __offline_pages()
1756 pfn = start_pfn; in __offline_pages()
1775 pfn = scan_movable_pages(start_pfn, end_pfn); in __offline_pages()
1799 dissolve_free_huge_pages(start_pfn, end_pfn); in __offline_pages()
1801 offlined_pages = check_pages_isolated(start_pfn, end_pfn); in __offline_pages()
1809 offline_isolated_pages(start_pfn, end_pfn); in __offline_pages()
1811 undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE); in __offline_pages()
1813 adjust_managed_page_count(pfn_to_page(start_pfn), -offlined_pages); in __offline_pages()
1842 (unsigned long long) start_pfn << PAGE_SHIFT, in __offline_pages()
1846 undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE); in __offline_pages()
1851 int offline_pages(unsigned long start_pfn, unsigned long nr_pages) in offline_pages() argument
1853 return __offline_pages(start_pfn, start_pfn + nr_pages, 120 * HZ); in offline_pages()
1869 int walk_memory_range(unsigned long start_pfn, unsigned long end_pfn, in walk_memory_range() argument
1877 for (pfn = start_pfn; pfn < end_pfn; pfn += PAGES_PER_SECTION) { in walk_memory_range()
1979 unsigned long start_pfn = pgdat->node_start_pfn; in try_offline_node() local
1980 unsigned long end_pfn = start_pfn + pgdat->node_spanned_pages; in try_offline_node()
1984 for (pfn = start_pfn; pfn < end_pfn; pfn += PAGES_PER_SECTION) { in try_offline_node()