| /linux-6.15/mm/ |
| H A D | mm_init.c | 499 start_pfn = max(start_pfn, zone_movable_pfn[nid]); in find_zone_movable_pfns_for_nodes() 507 - start_pfn; in find_zone_movable_pfns_for_nodes() 783 for (; start_pfn < end_pfn; start_pfn++) { in reserve_bootmem_region() 951 start_pfn = clamp(start_pfn, zone_start_pfn, zone_end_pfn); in memmap_init_zone_range() 957 memmap_init_range(end_pfn - start_pfn, nid, zone_id, start_pfn, in memmap_init_zone_range() 1201 start_pfn = clamp(start_pfn, range_start_pfn, range_end_pfn); in __absent_pages_in_range() 1329 start_pfn = clamp(start_pfn, 0, high_zone_low); in calc_nr_kernel_pages() 1703 *start_pfn = -1UL; in get_pfn_range_for_nid() 1707 *start_pfn = min(*start_pfn, this_start_pfn); in get_pfn_range_for_nid() 1712 *start_pfn = 0; in get_pfn_range_for_nid() [all …]
|
| H A D | page_isolation.c | 36 struct page *page = pfn_to_page(start_pfn); in has_unmovable_pages() 40 VM_BUG_ON(pageblock_start_pfn(start_pfn) != in has_unmovable_pages() 55 for (pfn = start_pfn; pfn < end_pfn; pfn++) { in has_unmovable_pages() 155 unsigned long start_pfn, unsigned long end_pfn) in set_migratetype_isolate() argument 184 check_unmovable_start = max(page_to_pfn(page), start_pfn); in set_migratetype_isolate() 317 unsigned long start_pfn; in isolate_single_pageblock() local 372 for (pfn = start_pfn; pfn < boundary_pfn;) { in isolate_single_pageblock() 489 unsigned long isolate_start = pageblock_start_pfn(start_pfn); in start_isolate_page_range() 517 start_pfn, end_pfn)) { in start_isolate_page_range() 637 page = __first_valid_page(start_pfn, end_pfn - start_pfn); in test_pages_isolated() [all …]
|
| H A D | memory_hotplug.c | 434 unsigned long start_pfn, in find_smallest_section_pfn() argument 437 for (; start_pfn < end_pfn; start_pfn += PAGES_PER_SUBSECTION) { in find_smallest_section_pfn() 447 return start_pfn; in find_smallest_section_pfn() 455 unsigned long start_pfn, in find_biggest_section_pfn() argument 508 start_pfn); in shrink_zone_span() 547 unsigned long start_pfn, in remove_pfn_range_from_zone() argument 575 shrink_zone_span(zone, start_pfn, start_pfn + nr_pages); in remove_pfn_range_from_zone() 732 zone->zone_start_pfn = start_pfn; in resize_zone_range() 1197 arg.start_pfn = pfn; in online_pages() 2019 arg.start_pfn = start_pfn; in offline_pages() [all …]
|
| H A D | page_ext.c | 378 start = SECTION_ALIGN_DOWN(start_pfn); in online_page_ext() 379 end = SECTION_ALIGN_UP(start_pfn + nr_pages); in online_page_ext() 387 nid = pfn_to_nid(start_pfn); in online_page_ext() 409 start = SECTION_ALIGN_DOWN(start_pfn); in offline_page_ext() 410 end = SECTION_ALIGN_UP(start_pfn + nr_pages); in offline_page_ext() 438 ret = online_page_ext(mn->start_pfn, in page_ext_callback() 442 offline_page_ext(mn->start_pfn, in page_ext_callback() 446 offline_page_ext(mn->start_pfn, in page_ext_callback() 468 unsigned long start_pfn, end_pfn; in page_ext_init() local 470 start_pfn = node_start_pfn(nid); in page_ext_init() [all …]
|
| H A D | shuffle.c | 83 unsigned long start_pfn = z->zone_start_pfn; in __shuffle_zone() local 89 start_pfn = ALIGN(start_pfn, order_pages); in __shuffle_zone() 90 for (i = start_pfn; i < end_pfn; i += order_pages) { in __shuffle_zone()
|
| /linux-6.15/include/trace/events/ |
| H A D | page_isolation.h | 13 unsigned long start_pfn, 17 TP_ARGS(start_pfn, end_pfn, fin_pfn), 20 __field(unsigned long, start_pfn) 26 __entry->start_pfn = start_pfn; 32 __entry->start_pfn, __entry->end_pfn, __entry->fin_pfn,
|
| H A D | compaction.h | 17 unsigned long start_pfn, 22 TP_ARGS(start_pfn, end_pfn, nr_scanned, nr_taken), 25 __field(unsigned long, start_pfn) 32 __entry->start_pfn = start_pfn; 39 __entry->start_pfn, 48 unsigned long start_pfn, 53 TP_ARGS(start_pfn, end_pfn, nr_scanned, nr_taken) 59 unsigned long start_pfn, 64 TP_ARGS(start_pfn, end_pfn, nr_scanned, nr_taken) 70 unsigned long start_pfn, [all …]
|
| /linux-6.15/arch/x86/xen/ |
| H A D | setup.c | 90 start_r = xen_extra_mem[i].start_pfn; in xen_del_extra_mem() 94 if (start_r == start_pfn) { in xen_del_extra_mem() 96 xen_extra_mem[i].start_pfn += n_pfns; in xen_del_extra_mem() 107 if (start_pfn > start_r && start_pfn < start_r + size_r) { in xen_del_extra_mem() 112 (start_pfn + n_pfns)); in xen_del_extra_mem() 129 if (pfn >= xen_extra_mem[i].start_pfn && in xen_chk_extra_mem() 148 pfn_s = xen_extra_mem[i].start_pfn; in xen_inv_extra_mem() 220 WARN_ON(start_pfn > end_pfn); in xen_set_identity_and_release_chunk() 348 unsigned long n = end_pfn - start_pfn; in xen_set_identity_and_remap_chunk() 402 if (start_pfn >= ini_nr_pages) in xen_count_remap_pages() [all …]
|
| H A D | enlighten.c | 414 void __init xen_add_extra_mem(unsigned long start_pfn, unsigned long n_pfns) in xen_add_extra_mem() argument 425 xen_extra_mem[i].start_pfn = start_pfn; in xen_add_extra_mem() 430 if (xen_extra_mem[i].start_pfn + xen_extra_mem[i].n_pfns == in xen_add_extra_mem() 431 start_pfn) { in xen_add_extra_mem() 439 memblock_reserve(PFN_PHYS(start_pfn), PFN_PHYS(n_pfns)); in xen_add_extra_mem() 462 pfn_to_page(xen_extra_mem[i].start_pfn + j); in arch_xen_unpopulated_init()
|
| /linux-6.15/arch/powerpc/platforms/powernv/ |
| H A D | memtrace.c | 94 unsigned long pfn, start_pfn; in memtrace_alloc_node() local 105 start_pfn = page_to_pfn(page); in memtrace_alloc_node() 111 flush_dcache_range_chunked((unsigned long)pfn_to_kaddr(start_pfn), in memtrace_alloc_node() 112 (unsigned long)pfn_to_kaddr(start_pfn + nr_pages), in memtrace_alloc_node() 119 for (pfn = start_pfn; pfn < start_pfn + nr_pages; pfn++) in memtrace_alloc_node() 122 arch_remove_linear_mapping(PFN_PHYS(start_pfn), size); in memtrace_alloc_node() 124 return PFN_PHYS(start_pfn); in memtrace_alloc_node() 198 const unsigned long start_pfn = PHYS_PFN(start); in memtrace_free() local 206 for (pfn = start_pfn; pfn < start_pfn + nr_pages; pfn++) in memtrace_free() 209 free_contig_range(start_pfn, nr_pages); in memtrace_free()
|
| /linux-6.15/arch/x86/mm/ |
| H A D | init.c | 333 if (start_pfn < end_pfn) { in save_mr() 336 mr[nr_range].start = start_pfn<<PAGE_SHIFT; in save_mr() 415 pfn = start_pfn = PFN_DOWN(start); in split_mem_range() 432 if (start_pfn < end_pfn) { in split_mem_range() 447 if (start_pfn < end_pfn) { in split_mem_range() 457 if (start_pfn < end_pfn) { in split_mem_range() 467 if (start_pfn < end_pfn) { in split_mem_range() 475 start_pfn = pfn; in split_mem_range() 515 if (start_pfn < (1UL<<(32-PAGE_SHIFT))) in add_pfn_range_mapped() 525 if ((start_pfn >= pfn_mapped[i].start) && in pfn_range_is_mapped() [all …]
|
| /linux-6.15/arch/sh/mm/ |
| H A D | numa.c | 25 unsigned long start_pfn, end_pfn; in setup_bootmem_node() local 30 start_pfn = PFN_DOWN(start); in setup_bootmem_node() 38 __add_active_range(nid, start_pfn, end_pfn); in setup_bootmem_node() 48 NODE_DATA(nid)->node_start_pfn = start_pfn; in setup_bootmem_node() 49 NODE_DATA(nid)->node_spanned_pages = end_pfn - start_pfn; in setup_bootmem_node()
|
| H A D | init.c | 204 unsigned long start_pfn, end_pfn; in allocate_pgdat() local 206 get_pfn_range_for_nid(nid, &start_pfn, &end_pfn); in allocate_pgdat() 212 NODE_DATA(nid)->node_start_pfn = start_pfn; in allocate_pgdat() 213 NODE_DATA(nid)->node_spanned_pages = end_pfn - start_pfn; in allocate_pgdat() 218 unsigned long start_pfn, end_pfn; in do_init_bootmem() local 222 for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, NULL) in do_init_bootmem() 223 __add_active_range(0, start_pfn, end_pfn); in do_init_bootmem() 236 unsigned long start_pfn; in early_reserve_mem() local 244 start_pfn = PFN_UP(__pa(_end)); in early_reserve_mem() 252 memblock_reserve(start, (PFN_PHYS(start_pfn) + PAGE_SIZE - 1) - start); in early_reserve_mem()
|
| /linux-6.15/include/linux/ |
| H A D | memory_hotplug.h | 130 extern unsigned long __offline_isolated_pages(unsigned long start_pfn, 155 extern void __remove_pages(unsigned long start_pfn, unsigned long nr_pages, 159 extern int __add_pages(int nid, unsigned long start_pfn, unsigned long nr_pages, 163 static inline int add_pages(int nid, unsigned long start_pfn, in add_pages() argument 166 return __add_pages(nid, start_pfn, nr_pages, params); in add_pages() 169 int add_pages(int nid, unsigned long start_pfn, unsigned long nr_pages, 280 extern int offline_pages(unsigned long start_pfn, unsigned long nr_pages, 289 static inline int offline_pages(unsigned long start_pfn, unsigned long nr_pages, in offline_pages() argument 315 extern void move_pfn_range_to_zone(struct zone *zone, unsigned long start_pfn, 319 unsigned long start_pfn, [all …]
|
| H A D | node.h | 114 void register_memory_blocks_under_node(int nid, unsigned long start_pfn, 118 static inline void register_memory_blocks_under_node(int nid, unsigned long start_pfn, in register_memory_blocks_under_node() argument 138 unsigned long start_pfn = pgdat->node_start_pfn; in register_one_node() local 139 unsigned long end_pfn = start_pfn + pgdat->node_spanned_pages; in register_one_node() 144 register_memory_blocks_under_node(nid, start_pfn, end_pfn, in register_one_node()
|
| H A D | page-isolation.h | 33 int start_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, 36 void undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, 39 int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn,
|
| /linux-6.15/drivers/base/ |
| H A D | memory.c | 199 start_pfn, nr_pages); in memory_block_online() 211 arg.altmap_start_pfn = start_pfn; in memory_block_online() 213 arg.start_pfn = start_pfn + nr_vmemmap_pages; in memory_block_online() 228 ret = online_pages(start_pfn + nr_vmemmap_pages, in memory_block_online() 280 ret = offline_pages(start_pfn + nr_vmemmap_pages, in memory_block_offline() 285 adjust_present_page_count(pfn_to_page(start_pfn), in memory_block_offline() 294 arg.altmap_start_pfn = start_pfn; in memory_block_offline() 296 arg.start_pfn = start_pfn + nr_vmemmap_pages; in memory_block_offline() 431 arch_get_memory_phys_device(start_pfn)); in phys_device_show() 474 start_pfn, nr_pages); in valid_zones_show() [all …]
|
| H A D | arch_numa.c | 195 static void __init setup_node_data(int nid, u64 start_pfn, u64 end_pfn) in setup_node_data() argument 197 if (start_pfn >= end_pfn) in setup_node_data() 203 NODE_DATA(nid)->node_start_pfn = start_pfn; in setup_node_data() 204 NODE_DATA(nid)->node_spanned_pages = end_pfn - start_pfn; in setup_node_data() 217 unsigned long start_pfn, end_pfn; in numa_register_nodes() local 219 get_pfn_range_for_nid(nid, &start_pfn, &end_pfn); in numa_register_nodes() 220 setup_node_data(nid, start_pfn, end_pfn); in numa_register_nodes()
|
| /linux-6.15/drivers/hv/ |
| H A D | hv_balloon.c | 425 unsigned long start_pfn; member 438 unsigned long start_pfn; member 614 while ((pfn >= has->start_pfn) && in hv_page_offline_check() 712 unsigned long start_pfn; in hv_mem_hot_add() local 772 if (pfn < has->start_pfn || in hv_online_page() 796 if (start_pfn < has->start_pfn || start_pfn >= has->end_pfn) in pfn_covered() 812 gap->end_pfn = start_pfn; in pfn_covered() 815 has->covered_end_pfn = start_pfn; in pfn_covered() 855 if (start_pfn < has->start_pfn || start_pfn >= has->end_pfn) in handle_pg_range() 880 if (start_pfn > has->start_pfn && in handle_pg_range() [all …]
|
| /linux-6.15/arch/mips/loongson64/ |
| H A D | numa.c | 85 unsigned long start_pfn, end_pfn; in node_mem_init() local 91 get_pfn_range_for_nid(node, &start_pfn, &end_pfn); in node_mem_init() 93 node, start_pfn, end_pfn); in node_mem_init() 97 NODE_DATA(node)->node_start_pfn = start_pfn; in node_mem_init() 98 NODE_DATA(node)->node_spanned_pages = end_pfn - start_pfn; in node_mem_init() 120 memblock_reserve(0, PAGE_SIZE * start_pfn); in node_mem_init()
|
| /linux-6.15/arch/parisc/mm/ |
| H A D | init.c | 133 if (pmem_ranges[j-1].start_pfn < in setup_bootmem() 134 pmem_ranges[j].start_pfn) { in setup_bootmem() 149 if (pmem_ranges[i].start_pfn - in setup_bootmem() 150 (pmem_ranges[i-1].start_pfn + in setup_bootmem() 155 pmem_ranges[i].start_pfn - in setup_bootmem() 156 (pmem_ranges[i-1].start_pfn + in setup_bootmem() 249 unsigned long start_pfn; in setup_bootmem() local 254 start_pfn = pmem_ranges[i].start_pfn; in setup_bootmem() 257 start = start_pfn << PAGE_SHIFT; in setup_bootmem() 263 if ((start_pfn + npages) > max_pfn) in setup_bootmem() [all …]
|
| /linux-6.15/arch/sparc/mm/ |
| H A D | init_32.c | 64 unsigned long start_pfn = sp_banks[i].base_addr >> PAGE_SHIFT; in calc_highpages() local 70 if (start_pfn < max_low_pfn) in calc_highpages() 71 start_pfn = max_low_pfn; in calc_highpages() 73 nr += end_pfn - start_pfn; in calc_highpages() 133 unsigned long start_pfn, bytes_avail, size; in bootmem_init() local 171 start_pfn = (unsigned long)__pa(PAGE_ALIGN((unsigned long) &_end)); in bootmem_init() 174 start_pfn >>= PAGE_SHIFT; in bootmem_init() 192 size = (start_pfn << PAGE_SHIFT) - phys_base; in bootmem_init()
|
| /linux-6.15/drivers/gpu/drm/imagination/ |
| H A D | pvr_vm_mips.c | 156 s32 start_pfn; in pvr_vm_mips_map() local 172 start_pfn = (start & fw_dev->fw_heap_info.offset_mask) >> ROGUE_MIPSFW_LOG2_PAGE_SIZE_4K; in pvr_vm_mips_map() 182 for (pfn = start_pfn; pfn <= end_pfn; pfn++) { in pvr_vm_mips_map() 187 (pfn - start_pfn) << in pvr_vm_mips_map() 205 while (--pfn >= start_pfn) in pvr_vm_mips_map() 228 const u32 start_pfn = (start & fw_dev->fw_heap_info.offset_mask) >> in pvr_vm_mips_unmap() local 233 for (u32 pfn = start_pfn; pfn < end_pfn; pfn++) in pvr_vm_mips_unmap()
|
| /linux-6.15/arch/powerpc/mm/ |
| H A D | mem.c | 128 int __ref add_pages(int nid, unsigned long start_pfn, unsigned long nr_pages, in add_pages() argument 133 ret = __add_pages(nid, start_pfn, nr_pages, params); in add_pages() 138 update_end_of_memory_vars(start_pfn << PAGE_SHIFT, in add_pages() 147 unsigned long start_pfn = start >> PAGE_SHIFT; in arch_add_memory() local 154 rc = add_pages(nid, start_pfn, nr_pages, params); in arch_add_memory() 162 unsigned long start_pfn = start >> PAGE_SHIFT; in arch_remove_memory() local 165 __remove_pages(start_pfn, nr_pages, altmap); in arch_remove_memory()
|
| /linux-6.15/drivers/xen/ |
| H A D | balloon.c | 347 unsigned long start_pfn = page_to_pfn(page); in xen_online_page() local 350 pr_debug("Online %lu pages starting at pfn 0x%lx\n", size, start_pfn); in xen_online_page() 353 p = pfn_to_page(start_pfn + i); in xen_online_page() 684 unsigned long start_pfn, pages; in balloon_add_regions() local 693 start_pfn = xen_extra_mem[i].start_pfn; in balloon_add_regions() 700 extra_pfn_end = min(max_pfn, start_pfn + pages); in balloon_add_regions() 702 for (pfn = start_pfn; pfn < extra_pfn_end; pfn++) in balloon_add_regions() 711 if (extra_pfn_end - start_pfn >= balloon_stats.current_pages) { in balloon_add_regions() 715 balloon_stats.current_pages -= extra_pfn_end - start_pfn; in balloon_add_regions()
|