Lines Matching refs:start_pfn

349 				     unsigned long start_pfn,  in find_smallest_section_pfn()  argument
352 for (; start_pfn < end_pfn; start_pfn += PAGES_PER_SUBSECTION) { in find_smallest_section_pfn()
353 if (unlikely(!pfn_to_online_page(start_pfn))) in find_smallest_section_pfn()
356 if (unlikely(pfn_to_nid(start_pfn) != nid)) in find_smallest_section_pfn()
359 if (zone != page_zone(pfn_to_page(start_pfn))) in find_smallest_section_pfn()
362 return start_pfn; in find_smallest_section_pfn()
370 unsigned long start_pfn, in find_biggest_section_pfn() argument
377 for (; pfn >= start_pfn; pfn -= PAGES_PER_SUBSECTION) { in find_biggest_section_pfn()
393 static void shrink_zone_span(struct zone *zone, unsigned long start_pfn, in shrink_zone_span() argument
399 if (zone->zone_start_pfn == start_pfn) { in shrink_zone_span()
423 start_pfn); in shrink_zone_span()
462 unsigned long start_pfn, in remove_pfn_range_from_zone() argument
465 const unsigned long end_pfn = start_pfn + nr_pages; in remove_pfn_range_from_zone()
470 for (pfn = start_pfn; pfn < end_pfn; pfn += cur_nr_pages) { in remove_pfn_range_from_zone()
490 shrink_zone_span(zone, start_pfn, start_pfn + nr_pages); in remove_pfn_range_from_zone()
596 static void online_pages_range(unsigned long start_pfn, unsigned long nr_pages) in online_pages_range() argument
598 const unsigned long end_pfn = start_pfn + nr_pages; in online_pages_range()
610 for (pfn = start_pfn; pfn < end_pfn;) { in online_pages_range()
618 online_mem_sections(start_pfn, end_pfn); in online_pages_range()
653 static void __meminit resize_zone_range(struct zone *zone, unsigned long start_pfn, in resize_zone_range() argument
658 if (zone_is_empty(zone) || start_pfn < zone->zone_start_pfn) in resize_zone_range()
659 zone->zone_start_pfn = start_pfn; in resize_zone_range()
661 zone->spanned_pages = max(start_pfn + nr_pages, old_end_pfn) - zone->zone_start_pfn; in resize_zone_range()
664 static void __meminit resize_pgdat_range(struct pglist_data *pgdat, unsigned long start_pfn, in resize_pgdat_range() argument
669 if (!pgdat->node_spanned_pages || start_pfn < pgdat->node_start_pfn) in resize_pgdat_range()
670 pgdat->node_start_pfn = start_pfn; in resize_pgdat_range()
672 pgdat->node_spanned_pages = max(start_pfn + nr_pages, old_end_pfn) - pgdat->node_start_pfn; in resize_pgdat_range()
692 void __ref move_pfn_range_to_zone(struct zone *zone, unsigned long start_pfn, in move_pfn_range_to_zone() argument
702 init_currently_empty_zone(zone, start_pfn, nr_pages); in move_pfn_range_to_zone()
703 resize_zone_range(zone, start_pfn, nr_pages); in move_pfn_range_to_zone()
704 resize_pgdat_range(pgdat, start_pfn, nr_pages); in move_pfn_range_to_zone()
713 if (!IS_ALIGNED(start_pfn, PAGES_PER_SECTION)) in move_pfn_range_to_zone()
714 section_taint_zone_device(start_pfn); in move_pfn_range_to_zone()
715 if (!IS_ALIGNED(start_pfn + nr_pages, PAGES_PER_SECTION)) in move_pfn_range_to_zone()
716 section_taint_zone_device(start_pfn + nr_pages); in move_pfn_range_to_zone()
725 memmap_init_range(nr_pages, nid, zone_idx(zone), start_pfn, 0, in move_pfn_range_to_zone()
839 static struct zone *default_kernel_zone_for_pfn(int nid, unsigned long start_pfn, in default_kernel_zone_for_pfn() argument
848 if (zone_intersects(zone, start_pfn, nr_pages)) in default_kernel_zone_for_pfn()
966 static inline struct zone *default_zone_for_pfn(int nid, unsigned long start_pfn, in default_zone_for_pfn() argument
969 struct zone *kernel_zone = default_kernel_zone_for_pfn(nid, start_pfn, in default_zone_for_pfn()
972 bool in_kernel = zone_intersects(kernel_zone, start_pfn, nr_pages); in default_zone_for_pfn()
973 bool in_movable = zone_intersects(movable_zone, start_pfn, nr_pages); in default_zone_for_pfn()
991 struct memory_group *group, unsigned long start_pfn, in zone_for_pfn_range() argument
995 return default_kernel_zone_for_pfn(nid, start_pfn, nr_pages); in zone_for_pfn_range()
1001 return auto_movable_zone_for_pfn(nid, group, start_pfn, nr_pages); in zone_for_pfn_range()
1003 return default_zone_for_pfn(nid, start_pfn, nr_pages); in zone_for_pfn_range()
1100 arg.start_pfn = pfn; in online_pages()
1603 struct zone *test_pages_in_a_zone(unsigned long start_pfn, in test_pages_in_a_zone() argument
1610 for (pfn = start_pfn, sec_end_pfn = SECTION_ALIGN_UP(start_pfn + 1); in test_pages_in_a_zone()
1690 do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) in do_migrate_range() argument
1699 for (pfn = start_pfn; pfn < end_pfn; pfn++) { in do_migrate_range()
1863 static int count_system_ram_pages_cb(unsigned long start_pfn, in count_system_ram_pages_cb() argument
1872 int __ref offline_pages(unsigned long start_pfn, unsigned long nr_pages, in offline_pages() argument
1875 const unsigned long end_pfn = start_pfn + nr_pages; in offline_pages()
1891 !IS_ALIGNED(start_pfn, pageblock_nr_pages) || in offline_pages()
1892 !IS_ALIGNED(start_pfn + nr_pages, PAGES_PER_SECTION))) in offline_pages()
1905 walk_system_ram_range(start_pfn, nr_pages, &system_ram_pages, in offline_pages()
1915 zone = test_pages_in_a_zone(start_pfn, end_pfn); in offline_pages()
1931 ret = start_isolate_page_range(start_pfn, end_pfn, in offline_pages()
1939 arg.start_pfn = start_pfn; in offline_pages()
1951 pfn = start_pfn; in offline_pages()
1981 ret = dissolve_free_huge_pages(start_pfn, end_pfn); in offline_pages()
1987 ret = test_pages_isolated(start_pfn, end_pfn, MEMORY_OFFLINE); in offline_pages()
1992 __offline_isolated_pages(start_pfn, end_pfn); in offline_pages()
2008 adjust_managed_page_count(pfn_to_page(start_pfn), -nr_pages); in offline_pages()
2009 adjust_present_page_count(pfn_to_page(start_pfn), group, -nr_pages); in offline_pages()
2028 remove_pfn_range_from_zone(zone, start_pfn, nr_pages); in offline_pages()
2033 undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE); in offline_pages()
2040 (unsigned long long) start_pfn << PAGE_SHIFT, in offline_pages()