Home
last modified time | relevance | path

Searched refs:vmemmap (Results 1 – 25 of 44) sorted by relevance

12

/openbmc/linux/Documentation/powerpc/
H A Dvmemmap_dedup.rst10 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
/openbmc/linux/Documentation/translations/zh_CN/mm/
H A Dmemory-model.rst89 "sparse vmemmap"。选择是在构建时进行的,它由 `CONFIG_SPARSEMEM_VMEMMAP` 的
96 作。有一个全局的 `struct page *vmemmap` 指针,指向一个虚拟连续的 `struct page`
97 对象阵列。PFN是该数组的一个索引,`struct page` 从 `vmemmap` 的偏移量是该页的PFN。
99 为了使用vmemmap,一个架构必须保留一个虚拟地址的范围,以映射包含内存映射的物理页,并
100 确保 `vmemmap`指向该范围。此外,架构应该实现 :c:func:`vmemmap_populate` 方法,
101 它将分配物理内存并为虚拟内存映射创建页表。如果一个架构对vmemmap映射没有任何特殊要求,
/openbmc/linux/Documentation/mm/
H A Dvmemmap_dedup.rst5 A vmemmap diet for HugeTLB and Device DAX
161 vmemmap pages and restore the previous mapping relationship.
164 We also can use this approach to free (PAGE_SIZE - 1) vmemmap pages.
175 Notice: The head vmemmap page is not freed to the buddy allocator and all
176 tail vmemmap pages are mapped to the head vmemmap page frame. So we can see
209 in the previous chapter, except when used with the vmemmap in
221 There's no remapping of vmemmap given that device-dax memory is not part of
224 the head vmemmap page representing, whereas device-dax reuses the tail
225 vmemmap page. This results in only half of the savings compared to HugeTLB.
H A Dmemory-model.rst105 vmemmap". The selection is made at build time and it is determined by
112 The sparse vmemmap uses a virtually mapped memory map to optimize
114 page *vmemmap` pointer that points to a virtually contiguous array of
116 offset of the `struct page` from `vmemmap` is the PFN of that
119 To use vmemmap, an architecture has to reserve a range of virtual
121 map and make sure that `vmemmap` points to that range. In addition,
125 requirements for the vmemmap mappings, it can use default
/openbmc/linux/include/asm-generic/
H A Dmemory_model.h37 #define __pfn_to_page(pfn) (vmemmap + (pfn))
38 #define __page_to_pfn(page) (unsigned long)((page) - vmemmap)
/openbmc/linux/arch/powerpc/mm/
H A Dpgtable_64.c91 struct page *vmemmap; variable
92 EXPORT_SYMBOL(vmemmap);
H A Dinit_64.c77 unsigned long offset = vmemmap_addr - ((unsigned long)(vmemmap)); in vmemmap_subsection_start()
/openbmc/linux/Documentation/translations/zh_CN/riscv/
H A Dvm-layout.rst57 ffffffc700000000 | -228 GB | ffffffc7ffffffff | 4 GB | vmemmap
93 ffff8d8000000000 | -114.5 TB | ffff8f7fffffffff | 2 TB | vmemmap
/openbmc/linux/Documentation/admin-guide/kdump/
H A Dvmcoreinfo.rst497 VMEMMAP_START ~ VMEMMAP_END-1 : vmemmap region, used for struct page array.
544 The vmemmap_list maintains the entire vmemmap physical mapping. Used
545 to get vmemmap list count and populated vmemmap regions info. If the
546 vmemmap address translation information is stored in the crash kernel,
547 it is used to translate vmemmap kernel virtual addresses.
564 The vmemmap virtual address space management does not have a traditional
570 when computing the count of vmemmap regions.
619 * VMEMMAP_START ~ VMEMMAP_END : vmemmap space, used for struct page array.
/openbmc/linux/Documentation/riscv/
H A Dvm-layout.rst52 ffffffc700000000 | -228 GB | ffffffc7ffffffff | 4 GB | vmemmap
88 ffff8d8000000000 | -114.5 TB | ffff8f7fffffffff | 2 TB | vmemmap
124 ff1c000000000000 | -57 PB | ff1fffffffffffff | 1 PB | vmemmap
/openbmc/linux/tools/testing/selftests/mm/
H A D.gitignore6 hugepage-vmemmap
H A DMakefile48 TEST_GEN_FILES += hugepage-vmemmap
H A Drun_vmtests.sh247 CATEGORY="hugetlb" run_test ./hugepage-vmemmap
/openbmc/linux/arch/s390/mm/
H A Ddump_pagetables.c301 address_markers[VMEMMAP_NR].start_address = (unsigned long) vmemmap; in pt_dump_init()
302 address_markers[VMEMMAP_END_NR].start_address = (unsigned long)vmemmap + vmemmap_size; in pt_dump_init()
/openbmc/linux/Documentation/arch/arm64/
H A Dptdump.rst80 | ---[ vmemmap start ]----------------------------------------------------------------- |
85 | ---[ vmemmap end ]------------------------------------------------------------------- |
H A Dmemory.rst42 fffffc0000000000 fffffdffffffffff 2TB vmemmap
59 fffffc0000000000 ffffffdfffffffff ~4TB vmemmap
122 offset and vmemmap offsets are computed at early boot to enable
/openbmc/linux/arch/s390/boot/
H A Dstartup.c26 struct page *__bootdata_preserved(vmemmap);
231 vmemmap = (struct page *)vmemmap_start; in setup_kernel_memory_layout()
/openbmc/linux/scripts/gdb/linux/
H A Dmm.py102 …self.vmemmap = gdb.Value(self.VMEMMAP_START).cast(utils.get_page_type().pointer()) - (self.memstar…
256 …return int(page.cast(utils.get_page_type().pointer()) - self.vmemmap.cast(utils.get_page_type().po…
262 return (self.vmemmap + pfn).cast(utils.get_page_type().pointer())
/openbmc/linux/arch/x86/include/asm/
H A Dpgtable_64.h257 #define vmemmap ((struct page *)VMEMMAP_START) macro
/openbmc/linux/arch/loongarch/include/asm/
H A Dpgtable.h103 #define vmemmap ((struct page *)((VMALLOC_END + PMD_SIZE) & PMD_MASK)) macro
104 #define VMEMMAP_END ((unsigned long)vmemmap + VMEMMAP_SIZE - 1)
/openbmc/linux/arch/powerpc/include/asm/nohash/64/
H A Dpgtable.h67 #define vmemmap ((struct page *)VMEMMAP_BASE) macro
/openbmc/linux/arch/s390/kernel/
H A Dsetup.c167 struct page *vmemmap; variable
168 EXPORT_SYMBOL(vmemmap);
/openbmc/linux/mm/
H A DMakefile81 obj-$(CONFIG_SPARSEMEM_VMEMMAP) += sparse-vmemmap.o
/openbmc/linux/arch/ia64/include/asm/
H A Dpgtable.h197 # define vmemmap ((struct page *)VMALLOC_END) macro
/openbmc/linux/Documentation/translations/zh_CN/dev-tools/
H A Dkasan.rst332 小区域)。对于所有其他区域 —— 例如vmalloc和vmemmap空间 —— 一个只读页面被映射

12