Lines Matching refs:nr_pages

59 	unsigned long nr_pages = PFN_UP(memory_block_memmap_size());  in memory_block_memmap_on_memory_pages()  local
68 return pageblock_align(nr_pages); in memory_block_memmap_on_memory_pages()
69 return nr_pages; in memory_block_memmap_on_memory_pages()
318 static int check_pfn_span(unsigned long pfn, unsigned long nr_pages) in check_pfn_span() argument
335 if (!IS_ALIGNED(pfn | nr_pages, min_align)) in check_pfn_span()
388 int __add_pages(int nid, unsigned long pfn, unsigned long nr_pages, in __add_pages() argument
391 const unsigned long end_pfn = pfn + nr_pages; in __add_pages()
399 VM_BUG_ON(!mhp_range_allowed(PFN_PHYS(pfn), nr_pages * PAGE_SIZE, false)); in __add_pages()
406 || vmem_altmap_offset(altmap) > nr_pages) { in __add_pages()
413 if (check_pfn_span(pfn, nr_pages)) { in __add_pages()
414 WARN(1, "Misaligned %s start: %#lx end: %#lx\n", __func__, pfn, pfn + nr_pages - 1); in __add_pages()
548 unsigned long nr_pages) in remove_pfn_range_from_zone() argument
550 const unsigned long end_pfn = start_pfn + nr_pages; in remove_pfn_range_from_zone()
575 shrink_zone_span(zone, start_pfn, start_pfn + nr_pages); in remove_pfn_range_from_zone()
592 void __remove_pages(unsigned long pfn, unsigned long nr_pages, in __remove_pages() argument
595 const unsigned long end_pfn = pfn + nr_pages; in __remove_pages()
598 if (check_pfn_span(pfn, nr_pages)) { in __remove_pages()
599 WARN(1, "Misaligned %s start: %#lx end: %#lx\n", __func__, pfn, pfn + nr_pages - 1); in __remove_pages()
657 static void online_pages_range(unsigned long start_pfn, unsigned long nr_pages) in online_pages_range() argument
659 const unsigned long end_pfn = start_pfn + nr_pages; in online_pages_range()
703 static void node_states_check_changes_online(unsigned long nr_pages, in node_states_check_changes_online() argument
727 unsigned long nr_pages) in resize_zone_range() argument
734 zone->spanned_pages = max(start_pfn + nr_pages, old_end_pfn) - zone->zone_start_pfn; in resize_zone_range()
738 unsigned long nr_pages) in resize_pgdat_range() argument
745 pgdat->node_spanned_pages = max(start_pfn + nr_pages, old_end_pfn) - pgdat->node_start_pfn; in resize_pgdat_range()
772 unsigned long nr_pages, in move_pfn_range_to_zone() argument
781 init_currently_empty_zone(zone, start_pfn, nr_pages); in move_pfn_range_to_zone()
782 resize_zone_range(zone, start_pfn, nr_pages); in move_pfn_range_to_zone()
783 resize_pgdat_range(pgdat, start_pfn, nr_pages); in move_pfn_range_to_zone()
794 if (!IS_ALIGNED(start_pfn + nr_pages, PAGES_PER_SECTION)) in move_pfn_range_to_zone()
795 section_taint_zone_device(start_pfn + nr_pages); in move_pfn_range_to_zone()
804 memmap_init_range(nr_pages, nid, zone_idx(zone), start_pfn, 0, in move_pfn_range_to_zone()
865 unsigned long nr_pages) in auto_movable_can_online_movable() argument
910 movable_pages += nr_pages; in auto_movable_can_online_movable()
920 unsigned long nr_pages) in default_kernel_zone_for_pfn() argument
928 if (zone_intersects(zone, start_pfn, nr_pages)) in default_kernel_zone_for_pfn()
988 unsigned long nr_pages) in auto_movable_zone_for_pfn() argument
1003 } else if (!group || group->d.unit_pages == nr_pages) { in auto_movable_zone_for_pfn()
1004 max_pages = nr_pages; in auto_movable_zone_for_pfn()
1031 nr_pages = max_pages - online_pages; in auto_movable_zone_for_pfn()
1032 if (!auto_movable_can_online_movable(NUMA_NO_NODE, group, nr_pages)) in auto_movable_zone_for_pfn()
1037 !auto_movable_can_online_movable(nid, group, nr_pages)) in auto_movable_zone_for_pfn()
1043 return default_kernel_zone_for_pfn(nid, pfn, nr_pages); in auto_movable_zone_for_pfn()
1047 unsigned long nr_pages) in default_zone_for_pfn() argument
1050 nr_pages); in default_zone_for_pfn()
1052 bool in_kernel = zone_intersects(kernel_zone, start_pfn, nr_pages); in default_zone_for_pfn()
1053 bool in_movable = zone_intersects(movable_zone, start_pfn, nr_pages); in default_zone_for_pfn()
1072 unsigned long nr_pages) in zone_for_pfn_range() argument
1075 return default_kernel_zone_for_pfn(nid, start_pfn, nr_pages); in zone_for_pfn_range()
1081 return auto_movable_zone_for_pfn(nid, group, start_pfn, nr_pages); in zone_for_pfn_range()
1083 return default_zone_for_pfn(nid, start_pfn, nr_pages); in zone_for_pfn_range()
1091 long nr_pages) in adjust_present_page_count() argument
1101 zone->present_early_pages += nr_pages; in adjust_present_page_count()
1102 zone->present_pages += nr_pages; in adjust_present_page_count()
1103 zone->zone_pgdat->node_present_pages += nr_pages; in adjust_present_page_count()
1106 group->present_movable_pages += nr_pages; in adjust_present_page_count()
1108 group->present_kernel_pages += nr_pages; in adjust_present_page_count()
1111 int mhp_init_memmap_on_memory(unsigned long pfn, unsigned long nr_pages, in mhp_init_memmap_on_memory() argument
1114 unsigned long end_pfn = pfn + nr_pages; in mhp_init_memmap_on_memory()
1117 ret = kasan_add_zero_shadow(__va(PFN_PHYS(pfn)), PFN_PHYS(nr_pages)); in mhp_init_memmap_on_memory()
1128 page_init_poison(pfn_to_page(pfn), sizeof(struct page) * nr_pages); in mhp_init_memmap_on_memory()
1130 move_pfn_range_to_zone(zone, pfn, nr_pages, NULL, MIGRATE_UNMOVABLE); in mhp_init_memmap_on_memory()
1132 for (i = 0; i < nr_pages; i++) { in mhp_init_memmap_on_memory()
1144 if (nr_pages >= PAGES_PER_SECTION) in mhp_init_memmap_on_memory()
1150 void mhp_deinit_memmap_on_memory(unsigned long pfn, unsigned long nr_pages) in mhp_deinit_memmap_on_memory() argument
1152 unsigned long end_pfn = pfn + nr_pages; in mhp_deinit_memmap_on_memory()
1159 if (nr_pages >= PAGES_PER_SECTION) in mhp_deinit_memmap_on_memory()
1166 remove_pfn_range_from_zone(page_zone(pfn_to_page(pfn)), pfn, nr_pages); in mhp_deinit_memmap_on_memory()
1167 kasan_remove_zero_shadow(__va(PFN_PHYS(pfn)), PFN_PHYS(nr_pages)); in mhp_deinit_memmap_on_memory()
1173 int online_pages(unsigned long pfn, unsigned long nr_pages, in online_pages() argument
1189 if (WARN_ON_ONCE(!nr_pages || !pageblock_aligned(pfn) || in online_pages()
1190 !IS_ALIGNED(pfn + nr_pages, PAGES_PER_SECTION))) in online_pages()
1195 move_pfn_range_to_zone(zone, pfn, nr_pages, NULL, MIGRATE_ISOLATE); in online_pages()
1198 arg.nr_pages = nr_pages; in online_pages()
1199 node_states_check_changes_online(nr_pages, zone, &arg); in online_pages()
1211 zone->nr_isolate_pageblock += nr_pages / pageblock_nr_pages; in online_pages()
1224 online_pages_range(pfn, nr_pages); in online_pages()
1225 adjust_present_page_count(pfn_to_page(pfn), group, nr_pages); in online_pages()
1232 undo_isolate_page_range(pfn, pfn + nr_pages, MIGRATE_MOVABLE); in online_pages()
1256 (((unsigned long long) pfn + nr_pages) << PAGE_SHIFT) - 1); in online_pages()
1258 remove_pfn_range_from_zone(zone, pfn, nr_pages); in online_pages()
1901 static void node_states_check_changes_offline(unsigned long nr_pages, in node_states_check_changes_offline() argument
1921 if (zone_idx(zone) <= ZONE_NORMAL && nr_pages >= present_pages) in node_states_check_changes_offline()
1935 if (nr_pages >= present_pages) in node_states_check_changes_offline()
1949 unsigned long nr_pages, void *data) in count_system_ram_pages_cb() argument
1953 *nr_system_ram_pages += nr_pages; in count_system_ram_pages_cb()
1960 int offline_pages(unsigned long start_pfn, unsigned long nr_pages, in offline_pages() argument
1963 const unsigned long end_pfn = start_pfn + nr_pages; in offline_pages()
1978 if (WARN_ON_ONCE(!nr_pages || !pageblock_aligned(start_pfn) || in offline_pages()
1979 !IS_ALIGNED(start_pfn + nr_pages, PAGES_PER_SECTION))) in offline_pages()
1990 walk_system_ram_range(start_pfn, nr_pages, &system_ram_pages, in offline_pages()
1992 if (system_ram_pages != nr_pages) { in offline_pages()
2027 arg.nr_pages = nr_pages; in offline_pages()
2028 node_states_check_changes_offline(nr_pages, zone, &arg); in offline_pages()
2085 pr_debug("Offlined Pages %ld\n", nr_pages); in offline_pages()
2093 zone->nr_isolate_pageblock -= nr_pages / pageblock_nr_pages; in offline_pages()
2101 adjust_present_page_count(pfn_to_page(start_pfn), group, -nr_pages); in offline_pages()
2124 remove_pfn_range_from_zone(zone, start_pfn, nr_pages); in offline_pages()