| /linux/Documentation/arch/powerpc/ |
| H A D | vmemmap_dedup.rst | 10 On powerpc, vmemmap deduplication is only used with radix MMU translation. Also 11 with a 64K page size, only the devdax namespace with 1G alignment uses vmemmap 14 With 2M PMD level mapping, we require 32 struct pages and a single 64K vmemmap 16 vmemmap deduplication possible. 19 vmemmap page can contain 1024 struct pages (64K/sizeof(struct page)). Hence we 20 require 16 64K pages in vmemmap to map the struct page for 1G PUD level mapping. 47 4K vmemmap page contains 64 struct pages(4K/sizeof(struct page)). Hence we 48 require 8 4K pages in vmemmap to map the struct page for 2M pmd level mapping. 75 vmemmap page can contain 64 struct pages (4K/sizeof(struct page)). Hence we 76 require 4096 4K pages in vmemmap to map the struct pages for 1G PUD level
|
| /linux/include/asm-generic/ |
| H A D | memory_model.h | 46 #define __pfn_to_page(pfn) (vmemmap + (pfn)) 47 #define __page_to_pfn(page) (unsigned long)((page) - vmemmap)
|
| /linux/Documentation/translations/zh_CN/arch/riscv/ |
| H A D | vm-layout.rst | 57 ffffffc700000000 | -228 GB | ffffffc7ffffffff | 4 GB | vmemmap 93 ffff8d8000000000 | -114.5 TB | ffff8f7fffffffff | 2 TB | vmemmap
|
| /linux/Documentation/admin-guide/kdump/ |
| H A D | vmcoreinfo.rst | 467 VMEMMAP_START ~ VMEMMAP_END-1 : vmemmap region, used for struct page array. 514 The vmemmap_list maintains the entire vmemmap physical mapping. Used 515 to get vmemmap list count and populated vmemmap regions info. If the 516 vmemmap address translation information is stored in the crash kernel, 517 it is used to translate vmemmap kernel virtual addresses. 534 The vmemmap virtual address space management does not have a traditional 540 when computing the count of vmemmap regions. 589 * VMEMMAP_START ~ VMEMMAP_END : vmemmap space, used for struct page array.
|
| /linux/Documentation/arch/riscv/ |
| H A D | vm-layout.rst | 52 ffffffc500000000 | -236 GB | ffffffc5ffffffff | 4 GB | vmemmap 89 ffff8d8000000000 | -114.5 TB | ffff8f7fffffffff | 2 TB | vmemmap 125 ff1c000000000000 | -57 PB | ff1fffffffffffff | 1 PB | vmemmap
|
| /linux/scripts/gdb/linux/ |
| H A D | mm.py | 92 self.vmemmap = gdb.Value(self.VMEMMAP_START).cast(utils.get_page_type().pointer()) 186 return int(page.cast(utils.get_page_type().pointer()) - self.vmemmap) 189 return self.vmemmap + pfn 278 …self.vmemmap = gdb.Value(self.VMEMMAP_START).cast(utils.get_page_type().pointer()) - (self.memstar… 432 …return int(page.cast(utils.get_page_type().pointer()) - self.vmemmap.cast(utils.get_page_type().po… 438 return (self.vmemmap + pfn).cast(utils.get_page_type().pointer())
|
| /linux/tools/testing/selftests/mm/ |
| H A D | .gitignore | 6 hugepage-vmemmap
|
| H A D | Makefile | 69 TEST_GEN_FILES += hugepage-vmemmap
|
| H A D | run_vmtests.sh | 297 CATEGORY="hugetlb" run_test ./hugepage-vmemmap
|
| /linux/arch/s390/mm/ |
| H A D | dump_pagetables.c | 339 rc |= add_marker((unsigned long)vmemmap, (unsigned long)vmemmap + vmemmap_size, "vmemmap Area"); in pt_dump_init()
|
| /linux/arch/powerpc/include/asm/nohash/64/ |
| H A D | pgtable.h | 68 #define vmemmap ((struct page *)VMEMMAP_BASE) macro
|
| /linux/arch/s390/kernel/ |
| H A D | os_info.c | 83 os_info_entry_add_val(OS_INFO_VMEMMAP, (unsigned long)vmemmap); in os_info_init()
|
| /linux/kernel/ |
| H A D | vmcore_info.c | 179 VMCOREINFO_SYMBOL_ARRAY(vmemmap); in crash_save_vmcoreinfo_init()
|
| /linux/arch/x86/include/asm/ |
| H A D | pgtable_64.h | 254 #define vmemmap ((struct page *)VMEMMAP_START) macro
|
| /linux/mm/ |
| H A D | Makefile | 88 obj-$(CONFIG_SPARSEMEM_VMEMMAP) += sparse-vmemmap.o
|
| H A D | Kconfig | 416 # to enable the feature of HugeTLB/dev_dax vmemmap optimization.
|
| /linux/arch/powerpc/kernel/ |
| H A D | setup-common.c | 873 pr_info("vmemmap start = 0x%lx\n", (unsigned long)vmemmap); in print_system_info()
|
| /linux/Documentation/admin-guide/sysctl/ |
| H A D | vm.rst | 670 Once enabled, the vmemmap pages of subsequent allocation of HugeTLB pages from 674 to the buddy allocator, the vmemmap pages representing that range needs to be 675 remapped again and the vmemmap pages discarded earlier need to be rellocated 684 pool to the buddy allocator since the allocation of vmemmap pages could be 687 Once disabled, the vmemmap pages of subsequent allocation of HugeTLB pages from
|
| /linux/arch/sparc/include/asm/ |
| H A D | pgtable_64.h | 86 #define vmemmap ((struct page *)VMEMMAP_BASE) macro
|
| /linux/arch/riscv/include/asm/ |
| H A D | pgtable.h | 94 #define vmemmap ((struct page *)VMEMMAP_START - vmemmap_start_pfn) macro
|
| /linux/arch/powerpc/mm/book3s64/ |
| H A D | hash_utils.c | 1508 vmemmap = (struct page *)H_VMEMMAP_START; in hash__early_init_mmu()
|
| /linux/arch/arm64/include/asm/ |
| H A D | pgtable.h | 31 #define vmemmap ((struct page *)VMEMMAP_START - (memstart_addr >> PAGE_SHIFT)) macro
|
| /linux/Documentation/dev-tools/ |
| H A D | kasan.rst | 421 other areas - such as vmalloc and vmemmap space - a single read-only
|
| /linux/Documentation/admin-guide/ |
| H A D | kernel-parameters.txt | 2131 Note that the vmemmap pages may be allocated from the added 2133 enabled, those vmemmap pages cannot be optimized even if this 2134 feature is enabled. Other vmemmap pages not allocated from 4000 those vmemmap pages cannot be optimized even
|
| /linux/ |
| H A D | MAINTAINERS | 16686 F: mm/sparse-vmemmap.c
|