| /linux/arch/s390/mm/ |
| H A D | vmem.c | 41 static void vmem_free_pages(unsigned long addr, int order, struct vmem_altmap *altmap) in vmem_free_pages() argument 46 if (altmap) { in vmem_free_pages() 47 vmem_altmap_free(altmap, 1 << order); in vmem_free_pages() 170 struct vmem_altmap *altmap) in modify_pte_table() argument 183 vmem_free_pages((unsigned long)pfn_to_virt(pte_pfn(*pte)), get_order(PAGE_SIZE), altmap); in modify_pte_table() 187 void *new_page = vmemmap_alloc_block_buf(PAGE_SIZE, NUMA_NO_NODE, altmap); in modify_pte_table() 225 struct vmem_altmap *altmap) in modify_pmd_table() argument 243 vmem_free_pages(pmd_deref(*pmd), get_order(PMD_SIZE), altmap); in modify_pmd_table() 247 vmem_free_pages(pmd_deref(*pmd), get_order(PMD_SIZE), altmap); in modify_pmd_table() 270 new_page = vmemmap_alloc_block_buf(PMD_SIZE, NUMA_NO_NODE, altmap); in modify_pmd_table() [all …]
|
| /linux/arch/loongarch/mm/ |
| H A D | init.c | 122 void arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap) in arch_remove_memory() argument 129 if (altmap) in arch_remove_memory() 130 page += vmem_altmap_offset(altmap); in arch_remove_memory() 131 __remove_pages(start_pfn, nr_pages, altmap); in arch_remove_memory() 158 int node, struct vmem_altmap *altmap) in vmemmap_populate() argument 168 void vmemmap_free(unsigned long start, unsigned long end, struct vmem_altmap *altmap) in vmemmap_free() argument
|
| /linux/mm/ |
| H A D | memory_hotplug.c | 387 struct vmem_altmap *altmap = params->altmap; in __add_pages() local 394 if (altmap) { in __add_pages() 398 if (altmap->base_pfn != pfn in __add_pages() 399 || vmem_altmap_offset(altmap) > nr_pages) { in __add_pages() 403 altmap->alloc = 0; in __add_pages() 415 err = sparse_add_section(nid, pfn, cur_nr_pages, altmap, in __add_pages() 586 struct vmem_altmap *altmap) in __remove_pages() argument 601 sparse_remove_section(pfn, cur_nr_pages, altmap); in __remove_pages() 742 struct vmem_altmap *altmap, int migratetype, in move_pfn_range_to_zone() argument 775 MEMINIT_HOTPLUG, altmap, migratetype, in move_pfn_range_to_zone() [all …]
|
| H A D | mm_init.c | 861 struct vmem_altmap *altmap, int migratetype, in memmap_init_range() argument 879 if (!altmap) in memmap_init_range() 882 if (start_pfn == altmap->base_pfn) in memmap_init_range() 883 start_pfn += altmap->reserve; in memmap_init_range() 884 end_pfn = altmap->base_pfn + vmem_altmap_offset(altmap); in memmap_init_range() 1059 static inline unsigned long compound_nr_pages(struct vmem_altmap *altmap, in compound_nr_pages() argument 1062 if (!vmemmap_can_optimize(altmap, pgmap)) in compound_nr_pages() 1101 struct vmem_altmap *altmap = pgmap_altmap(pgmap); in memmap_init_zone_device() local 1115 if (altmap) { in memmap_init_zone_device() 1116 start_pfn = altmap->base_pfn + vmem_altmap_offset(altmap); in memmap_init_zone_device() [all …]
|
| /linux/arch/riscv/mm/ |
| H A D | init.c | 1376 struct vmem_altmap *altmap) in vmemmap_populate() argument 1386 return vmemmap_populate_hugepages(start, end, node, altmap); in vmemmap_populate() 1554 struct vmem_altmap *altmap) in free_vmemmap_storage() argument 1558 if (altmap) { in free_vmemmap_storage() 1559 vmem_altmap_free(altmap, size >> PAGE_SHIFT); in free_vmemmap_storage() 1575 bool is_vmemmap, struct vmem_altmap *altmap) in remove_pte_mapping() argument 1592 free_vmemmap_storage(pte_page(pte), PAGE_SIZE, altmap); in remove_pte_mapping() 1597 bool is_vmemmap, struct vmem_altmap *altmap) in remove_pmd_mapping() argument 1613 free_vmemmap_storage(pmd_page(pmd), PMD_SIZE, altmap); in remove_pmd_mapping() 1618 remove_pte_mapping(pte_base, addr, next, is_vmemmap, altmap); in remove_pmd_mapping() [all …]
|
| /linux/arch/powerpc/include/asm/book3s/64/ |
| H A D | radix.h | 324 int node, struct vmem_altmap *altmap); 326 struct vmem_altmap *altmap); 357 bool vmemmap_can_optimize(struct vmem_altmap *altmap, struct dev_pagemap *pgmap);
|
| /linux/include/linux/ |
| H A D | memremap.h | 134 struct vmem_altmap altmap; member 157 return &pgmap->altmap; in pgmap_altmap()
|
| H A D | mm.h | 4861 unsigned long nr_pages, int nid, struct vmem_altmap *altmap, 4868 struct vmem_altmap *altmap, unsigned long ptpfn, 4873 struct vmem_altmap *altmap); 4880 int node, struct vmem_altmap *altmap); 4882 int node, struct vmem_altmap *altmap); 4884 struct vmem_altmap *altmap); 4893 struct vmem_altmap *altmap); 4897 static inline unsigned long vmem_altmap_offset(const struct vmem_altmap *altmap) in vmem_altmap_offset() argument 4900 if (altmap) in vmem_altmap_offset() 4901 return altmap->reserve + altmap->free; in vmem_altmap_offset() [all …]
|
| /linux/drivers/nvdimm/ |
| H A D | pfn_devs.c | 675 struct vmem_altmap *altmap = &pgmap->altmap; in __nvdimm_setup_pfn() local 707 memcpy(altmap, &__altmap, sizeof(*altmap)); in __nvdimm_setup_pfn() 708 altmap->free = PHYS_PFN(offset - reserve); in __nvdimm_setup_pfn() 709 altmap->alloc = 0; in __nvdimm_setup_pfn()
|
| /linux/arch/powerpc/mm/ |
| H A D | mem.c | 161 void __ref arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap) in arch_remove_memory() argument 166 __remove_pages(start_pfn, nr_pages, altmap); in arch_remove_memory()
|
| /linux/arch/powerpc/include/asm/ |
| H A D | pgtable.h | 190 bool altmap_cross_boundary(struct vmem_altmap *altmap, unsigned long start,
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-bus-dax | 145 the 'altmap' for the hotplugged memory will be placed on the
|