| /linux/mm/ |
| A D | sparse-vmemmap.c | 78 struct vmem_altmap *altmap) in vmemmap_alloc_block_buf() argument 82 if (altmap) in vmemmap_alloc_block_buf() 93 return altmap->base_pfn + altmap->reserve + altmap->alloc in vmem_altmap_next_pfn() 94 + altmap->align; in vmem_altmap_next_pfn() 99 unsigned long allocated = altmap->alloc + altmap->align; in vmem_altmap_nr_free() 101 if (altmap->free > allocated) in vmem_altmap_nr_free() 102 return altmap->free - allocated; in vmem_altmap_nr_free() 124 altmap->alloc += nr_pfns; in altmap_alloc_block_buf() 125 altmap->align += nr_align; in altmap_alloc_block_buf() 129 __func__, pfn, altmap->alloc, altmap->align, nr_pfns); in altmap_alloc_block_buf() [all …]
|
| A D | sparse.c | 641 struct vmem_altmap *altmap) in depopulate_section_memmap() argument 647 vmemmap_free(start, end, altmap); in depopulate_section_memmap() 715 struct vmem_altmap *altmap) in depopulate_section_memmap() argument 783 struct vmem_altmap *altmap) in section_deactivate() argument 823 depopulate_section_memmap(pfn, nr_pages, altmap); in section_deactivate() 832 unsigned long nr_pages, struct vmem_altmap *altmap, in section_activate() argument 867 section_deactivate(pfn, nr_pages, altmap); in section_activate() 894 unsigned long nr_pages, struct vmem_altmap *altmap, in sparse_add_section() argument 914 if (!altmap || !altmap->inaccessible) in sparse_add_section() 930 struct vmem_altmap *altmap) in sparse_remove_section() argument [all …]
|
| A D | memory_hotplug.c | 375 struct vmem_altmap *altmap = params->altmap; in __add_pages() local 382 if (altmap) { in __add_pages() 386 if (altmap->base_pfn != pfn in __add_pages() 391 altmap->alloc = 0; in __add_pages() 1407 altmap = mem->altmap; in remove_memory_blocks_and_altmaps() 1408 mem->altmap = NULL; in remove_memory_blocks_and_altmaps() 1416 kfree(altmap); in remove_memory_blocks_and_altmaps() 1441 if (!params.altmap) { in create_altmaps_and_memory_blocks() 1449 kfree(params.altmap); in create_altmaps_and_memory_blocks() 1458 kfree(params.altmap); in create_altmaps_and_memory_blocks() [all …]
|
| A D | mm_init.c | 852 struct vmem_altmap *altmap, int migratetype) in memmap_init_range() argument 869 if (!altmap) in memmap_init_range() 872 if (start_pfn == altmap->base_pfn) in memmap_init_range() 873 start_pfn += altmap->reserve; in memmap_init_range() 874 end_pfn = altmap->base_pfn + vmem_altmap_offset(altmap); in memmap_init_range() 1034 static inline unsigned long compound_nr_pages(struct vmem_altmap *altmap, in compound_nr_pages() argument 1037 if (!vmemmap_can_optimize(altmap, pgmap)) in compound_nr_pages() 1077 struct vmem_altmap *altmap = pgmap_altmap(pgmap); in memmap_init_zone_device() local 1091 if (altmap) { in memmap_init_zone_device() 1092 start_pfn = altmap->base_pfn + vmem_altmap_offset(altmap); in memmap_init_zone_device() [all …]
|
| A D | memremap.c | 153 WARN_ONCE(pgmap->altmap.alloc, "failed to free all reserved pages\n"); in memunmap_pages() 256 PHYS_PFN(range_len(range)), params->altmap, in pagemap_range() 295 .altmap = pgmap_altmap(pgmap), in memremap_pages()
|
| /linux/arch/powerpc/mm/ |
| A D | init_64.c | 196 if (start_pfn < altmap->base_pfn) in altmap_cross_boundary() 203 struct vmem_altmap *altmap) in __vmemmap_populate() argument 231 if (altmap && !altmap_cross_boundary(altmap, start, page_size)) { in __vmemmap_populate() 256 vmem_altmap_free(altmap, nr_pfns); in __vmemmap_populate() 277 struct vmem_altmap *altmap) in vmemmap_populate() argument 320 struct vmem_altmap *altmap) in __vmemmap_free() argument 328 if (altmap) { in __vmemmap_free() 329 alt_start = altmap->base_pfn; in __vmemmap_free() 330 alt_end = altmap->base_pfn + altmap->reserve + altmap->free; in __vmemmap_free() 357 vmem_altmap_free(altmap, nr_pages); in __vmemmap_free() [all …]
|
| A D | mem.c | 160 void __ref arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap) in arch_remove_memory() argument 165 __remove_pages(start_pfn, nr_pages, altmap); in arch_remove_memory()
|
| /linux/arch/s390/mm/ |
| A D | vmem.c | 41 if (altmap) { in vmem_free_pages() 42 vmem_altmap_free(altmap, 1 << order); in vmem_free_pages() 167 struct vmem_altmap *altmap) in modify_pte_table() argument 225 struct vmem_altmap *altmap) in modify_pmd_table() argument 432 bool direct, struct vmem_altmap *altmap) in modify_pagetable() argument 471 struct vmem_altmap *altmap) in add_pagetable() argument 477 struct vmem_altmap *altmap) in remove_pagetable() argument 504 struct vmem_altmap *altmap) in vmemmap_populate() argument 512 remove_pagetable(start, end, false, altmap); in vmemmap_populate() 520 struct vmem_altmap *altmap) in vmemmap_free() argument [all …]
|
| A D | init.c | 293 void arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap) in arch_remove_memory() argument 298 __remove_pages(start_pfn, nr_pages, altmap); in arch_remove_memory()
|
| /linux/arch/powerpc/mm/book3s64/ |
| A D | radix_pgtable.c | 767 struct vmem_altmap *altmap, in free_vmemmap_pages() argument 772 if (altmap) { in free_vmemmap_pages() 781 alt_start = altmap->base_pfn; in free_vmemmap_pages() 782 alt_end = altmap->base_pfn + altmap->reserve + altmap->free; in free_vmemmap_pages() 907 struct vmem_altmap *altmap) in remove_pagetable() argument 1041 if (altmap && altmap_cross_boundary(altmap, addr, PAGE_SIZE)) in radix__vmemmap_pte_populate() 1042 altmap = NULL; in radix__vmemmap_pte_populate() 1045 if (!p && altmap) in radix__vmemmap_pte_populate() 1125 struct vmem_altmap *altmap) in radix__vmemmap_populate() argument 1174 } else if (altmap) { in radix__vmemmap_populate() [all …]
|
| /linux/arch/loongarch/mm/ |
| A D | init.c | 109 void arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap) in arch_remove_memory() argument 116 if (altmap) in arch_remove_memory() 117 page += vmem_altmap_offset(altmap); in arch_remove_memory() 118 __remove_pages(start_pfn, nr_pages, altmap); in arch_remove_memory() 153 int node, struct vmem_altmap *altmap) in vmemmap_populate() argument 163 void vmemmap_free(unsigned long start, unsigned long end, struct vmem_altmap *altmap) in vmemmap_free() argument
|
| /linux/include/linux/ |
| A D | memory_hotplug.h | 85 struct vmem_altmap *altmap; member 156 extern void arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap); 158 struct vmem_altmap *altmap); 316 struct vmem_altmap *altmap, int migratetype); 321 unsigned long nr_pages, struct vmem_altmap *altmap, 324 struct vmem_altmap *altmap);
|
| A D | memory.h | 80 struct vmem_altmap *altmap; member 156 struct vmem_altmap *altmap,
|
| A D | memremap.h | 128 struct vmem_altmap altmap; member 151 return &pgmap->altmap; in pgmap_altmap()
|
| A D | mm.h | 3819 unsigned long nr_pages, int nid, struct vmem_altmap *altmap, 3829 struct vmem_altmap *altmap, struct page *reuse); 3833 struct vmem_altmap *altmap); 3840 int node, struct vmem_altmap *altmap); 3842 int node, struct vmem_altmap *altmap); 3844 struct vmem_altmap *altmap); 3848 struct vmem_altmap *altmap); 3855 if (altmap) in vmem_altmap_offset() 3856 return altmap->reserve + altmap->free; in vmem_altmap_offset() 3863 altmap->alloc -= nr_pfns; in vmem_altmap_free() [all …]
|
| /linux/arch/arm64/mm/ |
| A D | mmu.c | 820 struct vmem_altmap *altmap) in free_hotplug_page_range() argument 822 if (altmap) { in free_hotplug_page_range() 856 struct vmem_altmap *altmap) in unmap_hotplug_pte_range() argument 871 PAGE_SIZE, altmap); in unmap_hotplug_pte_range() 877 struct vmem_altmap *altmap) in unmap_hotplug_pmd_range() argument 900 PMD_SIZE, altmap); in unmap_hotplug_pmd_range() 910 struct vmem_altmap *altmap) in unmap_hotplug_pud_range() argument 933 PUD_SIZE, altmap); in unmap_hotplug_pud_range() 972 WARN_ON(!free_mapped && altmap); in unmap_hotplug_range() 1176 struct vmem_altmap *altmap) in vmemmap_populate() argument [all …]
|
| /linux/arch/x86/mm/ |
| A D | init_64.c | 1007 struct vmem_altmap *altmap) in free_hugepage_table() argument 1009 if (altmap) in free_hugepage_table() 1114 bool direct, struct vmem_altmap *altmap) in remove_pmd_table() argument 1132 altmap); in remove_pmd_table() 1142 altmap); in remove_pmd_table() 1163 struct vmem_altmap *altmap, bool direct) in remove_pud_table() argument 1197 struct vmem_altmap *altmap, bool direct) in remove_p4d_table() argument 1230 struct vmem_altmap *altmap) in remove_pagetable() argument 1252 struct vmem_altmap *altmap) in vmemmap_free() argument 1532 struct vmem_altmap *altmap) in vmemmap_populate() argument [all …]
|
| /linux/drivers/base/ |
| A D | memory.c | 109 WARN_ON(mem->altmap); in memory_block_release() 208 if (mem->altmap) in memory_block_online() 209 nr_vmemmap_pages = mem->altmap->free; in memory_block_online() 223 zone, mem->altmap->inaccessible); in memory_block_online() 272 if (mem->altmap) in memory_block_offline() 273 nr_vmemmap_pages = mem->altmap->free; in memory_block_offline() 779 struct vmem_altmap *altmap, in add_memory_block() argument 797 mem->altmap = altmap; in add_memory_block() 840 struct vmem_altmap *altmap, in add_hotplug_memory_block() argument 871 struct vmem_altmap *altmap, in create_memory_block_devices() argument [all …]
|
| /linux/arch/riscv/mm/ |
| A D | init.c | 1435 struct vmem_altmap *altmap) in vmemmap_populate() argument 1610 struct vmem_altmap *altmap) in free_vmemmap_storage() argument 1614 if (altmap) { in free_vmemmap_storage() 1615 vmem_altmap_free(altmap, size >> PAGE_SHIFT); in free_vmemmap_storage() 1631 bool is_vmemmap, struct vmem_altmap *altmap) in remove_pte_mapping() argument 1648 free_vmemmap_storage(pte_page(pte), PAGE_SIZE, altmap); in remove_pte_mapping() 1653 bool is_vmemmap, struct vmem_altmap *altmap) in remove_pmd_mapping() argument 1680 bool is_vmemmap, struct vmem_altmap *altmap) in remove_pud_mapping() argument 1711 bool is_vmemmap, struct vmem_altmap *altmap) in remove_p4d_mapping() argument 1742 struct vmem_altmap *altmap) in remove_pgd_mapping() argument [all …]
|
| /linux/arch/powerpc/include/asm/book3s/64/ |
| A D | radix.h | 334 int node, struct vmem_altmap *altmap); 336 struct vmem_altmap *altmap); 367 bool vmemmap_can_optimize(struct vmem_altmap *altmap, struct dev_pagemap *pgmap);
|
| /linux/drivers/nvdimm/ |
| A D | pfn_devs.c | 685 struct vmem_altmap *altmap = &pgmap->altmap; in __nvdimm_setup_pfn() local 717 memcpy(altmap, &__altmap, sizeof(*altmap)); in __nvdimm_setup_pfn() 718 altmap->free = PHYS_PFN(offset - reserve); in __nvdimm_setup_pfn() 719 altmap->alloc = 0; in __nvdimm_setup_pfn()
|
| /linux/arch/powerpc/include/asm/ |
| A D | pgtable.h | 193 bool altmap_cross_boundary(struct vmem_altmap *altmap, unsigned long start,
|
| /linux/Documentation/ABI/testing/ |
| A D | sysfs-bus-dax | 145 the 'altmap' for the hotplugged memory will be placed on the
|
| /linux/Documentation/mm/ |
| A D | vmemmap_dedup.rst | 190 the device (altmap).
|
| /linux/arch/sparc/mm/ |
| A D | init_64.c | 2589 int node, struct vmem_altmap *altmap) in vmemmap_populate() argument
|