Lines Matching refs:start_pfn
89 static void register_page_bootmem_info_section(unsigned long start_pfn) in register_page_bootmem_info_section() argument
95 if (!pfn_valid(start_pfn)) in register_page_bootmem_info_section()
98 section_nr = pfn_to_section_nr(start_pfn); in register_page_bootmem_info_section()
162 static void grow_zone_span(struct zone *zone, unsigned long start_pfn, in grow_zone_span() argument
170 if (start_pfn < zone->zone_start_pfn) in grow_zone_span()
171 zone->zone_start_pfn = start_pfn; in grow_zone_span()
179 static void grow_pgdat_span(struct pglist_data *pgdat, unsigned long start_pfn, in grow_pgdat_span() argument
185 if (start_pfn < pgdat->node_start_pfn) in grow_pgdat_span()
186 pgdat->node_start_pfn = start_pfn; in grow_pgdat_span()
359 static int online_pages_range(unsigned long start_pfn, unsigned long nr_pages, in online_pages_range() argument
365 if (PageReserved(pfn_to_page(start_pfn))) in online_pages_range()
367 page = pfn_to_page(start_pfn + i); in online_pages_range()
385 arg.start_pfn = pfn; in online_pages()
450 unsigned long start_pfn = start >> PAGE_SHIFT; in hotadd_new_pgdat() local
461 free_area_init_node(nid, zones_size, start_pfn, zholes_size); in hotadd_new_pgdat()
556 int is_mem_section_removable(unsigned long start_pfn, unsigned long nr_pages) in is_mem_section_removable() argument
559 struct page *page = pfn_to_page(start_pfn); in is_mem_section_removable()
588 static int test_pages_in_a_zone(unsigned long start_pfn, unsigned long end_pfn) in test_pages_in_a_zone() argument
594 for (pfn = start_pfn; in test_pages_in_a_zone()
638 do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) in do_migrate_range() argument
647 for (pfn = start_pfn; pfn < end_pfn && move_pages > 0; pfn++) { in do_migrate_range()
701 offline_isolated_pages(unsigned long start_pfn, unsigned long end_pfn) in offline_isolated_pages() argument
703 walk_memory_resource(start_pfn, end_pfn - start_pfn, NULL, in offline_isolated_pages()
711 check_pages_isolated_cb(unsigned long start_pfn, unsigned long nr_pages, in check_pages_isolated_cb() argument
716 ret = test_pages_isolated(start_pfn, start_pfn + nr_pages); in check_pages_isolated_cb()
724 check_pages_isolated(unsigned long start_pfn, unsigned long end_pfn) in check_pages_isolated() argument
729 ret = walk_memory_resource(start_pfn, end_pfn - start_pfn, &offlined, in check_pages_isolated()
736 int offline_pages(unsigned long start_pfn, in offline_pages() argument
745 BUG_ON(start_pfn >= end_pfn); in offline_pages()
747 if (!IS_ALIGNED(start_pfn, pageblock_nr_pages)) in offline_pages()
753 if (!test_pages_in_a_zone(start_pfn, end_pfn)) in offline_pages()
756 zone = page_zone(pfn_to_page(start_pfn)); in offline_pages()
758 nr_pages = end_pfn - start_pfn; in offline_pages()
761 ret = start_isolate_page_range(start_pfn, end_pfn); in offline_pages()
765 arg.start_pfn = start_pfn; in offline_pages()
776 pfn = start_pfn; in offline_pages()
796 pfn = scan_lru_pages(start_pfn, end_pfn); in offline_pages()
818 offlined_pages = check_pages_isolated(start_pfn, end_pfn); in offline_pages()
826 offline_isolated_pages(start_pfn, end_pfn); in offline_pages()
828 undo_isolate_page_range(start_pfn, end_pfn); in offline_pages()
843 start_pfn, end_pfn); in offline_pages()
846 undo_isolate_page_range(start_pfn, end_pfn); in offline_pages()
853 unsigned long start_pfn, end_pfn; in remove_memory() local
855 start_pfn = PFN_DOWN(start); in remove_memory()
856 end_pfn = start_pfn + PFN_DOWN(size); in remove_memory()
857 return offline_pages(start_pfn, end_pfn, 120 * HZ); in remove_memory()