/Linux-v5.15/Documentation/admin-guide/mm/ |
D | hugetlbpage.rst | 21 Users can use the huge page support in Linux kernel by either using the mmap 30 persistent hugetlb pages in the kernel's huge page pool. It also displays 31 default huge page size and information about the number of free, reserved 32 and surplus huge pages in the pool of huge pages of default size. 33 The huge page size is needed for generating the proper alignment and 34 size of the arguments to system calls that map huge page regions. 48 is the size of the pool of huge pages. 50 is the number of huge pages in the pool that are not yet 53 is short for "reserved," and is the number of huge pages for 55 but no allocation has yet been made. Reserved huge pages [all …]
|
D | transhuge.rst | 13 using huge pages for the backing of virtual memory with huge pages 22 the huge page size is 2M, although the actual numbers may vary 53 collapses sequences of basic pages into huge pages. 151 By default kernel tries to use huge zero page on read page fault to 152 anonymous mapping. It's possible to disable huge zero page by writing 0 214 swap when collapsing a group of pages into a transparent huge page:: 242 ``huge=``. It can have following values: 245 Attempt to allocate huge pages every time we need a new page; 248 Do not allocate huge pages; 251 Only allocate huge page if it will be fully within i_size. [all …]
|
D | concepts.rst | 81 `huge`. Usage of huge pages significantly reduces pressure on TLB, 85 memory with the huge pages. The first one is `HugeTLB filesystem`, or 88 the memory and mapped using huge pages. The hugetlbfs is described at 91 Another, more recent, mechanism that enables use of the huge pages is 94 the system memory should and can be mapped by the huge pages, THP 204 buffer for DMA, or when THP allocates a huge page. Memory `compaction`
|
D | memory-hotplug.rst | 427 can fragment physical memory in a way that huge pages 437 kernel zones can increase the number of possible transparent huge pages and 438 dynamically allocated huge pages. 498 - Huge pages are unmovable when an architectures does not support huge 555 - Out of memory when dissolving huge pages, especially when freeing unused 558 Offlining code may be able to migrate huge page contents, but may not be able 559 to dissolve the source huge page because it fails allocating (unmovable) pages
|
/Linux-v5.15/tools/testing/selftests/vm/ |
D | charge_reserved_hugetlb.sh | 48 if [[ -e /mnt/huge ]]; then 49 rm -rf /mnt/huge/* 50 umount /mnt/huge || echo error 51 rmdir /mnt/huge 256 if [[ -e /mnt/huge ]]; then 257 rm -rf /mnt/huge/* 258 umount /mnt/huge 259 rmdir /mnt/huge 286 mkdir -p /mnt/huge 287 mount -t hugetlbfs -o pagesize=${MB}M,size=256M none /mnt/huge [all …]
|
D | run_vmtests.sh | 8 mnt=./huge
|
/Linux-v5.15/Documentation/vm/ |
D | hugetlbfs_reserv.rst | 11 preallocated for application use. These huge pages are instantiated in a 12 task's address space at page fault time if the VMA indicates huge pages are 13 to be used. If no huge page exists at page fault time, the task is sent 14 a SIGBUS and often dies an unhappy death. Shortly after huge page support 16 of huge pages at mmap() time. The idea is that if there were not enough 17 huge pages to cover the mapping, the mmap() would fail. This was first 19 were enough free huge pages to cover the mapping. Like most things in the 21 'reserve' huge pages at mmap() time to ensure that huge pages would be 23 describe how huge page reserve processing is done in the v4.10 kernel. 36 This is a global (per-hstate) count of reserved huge pages. Reserved [all …]
|
D | transhuge.rst | 15 knowledge fall back to breaking huge pmd mapping into table of ptes and, 43 is complete, so they won't ever notice the fact the page is huge. But 59 Code walking pagetables but unaware about huge pmds can simply call 94 To make pagetable walks huge pmd aware, all you need to do is to call 96 mmap_lock in read (or write) mode to be sure a huge pmd cannot be 102 page table lock will prevent the huge pmd being converted into a 106 before. Otherwise, you can proceed to process the huge pmd and the 109 Refcounts and transparent huge pages 124 (stored in first tail page). For file huge pages, we also increment 151 requests to split pinned huge pages: it expects page count to be equal to
|
D | arch_pgtable_helpers.rst | 139 | pmd_set_huge | Creates a PMD huge mapping | 141 | pmd_clear_huge | Clears a PMD huge mapping | 195 | pud_set_huge | Creates a PUD huge mapping | 197 | pud_clear_huge | Clears a PUD huge mapping |
|
/Linux-v5.15/arch/powerpc/include/asm/nohash/32/ |
D | pgtable.h | 233 static int number_of_cells_per_pte(pmd_t *pmd, pte_basic_t val, int huge) in number_of_cells_per_pte() argument 235 if (!huge) in number_of_cells_per_pte() 246 unsigned long clr, unsigned long set, int huge) in pte_update() argument 254 num = number_of_cells_per_pte(pmd, new, huge); in pte_update() 275 unsigned long clr, unsigned long set, int huge) in pte_update() argument 327 int huge = psize > mmu_virtual_psize ? 1 : 0; in __ptep_set_access_flags() local 329 pte_update(vma->vm_mm, address, ptep, clr, set, huge); in __ptep_set_access_flags()
|
/Linux-v5.15/arch/powerpc/include/asm/book3s/64/ |
D | hash.h | 147 pte_t *ptep, unsigned long pte, int huge); 154 int huge) in hash__pte_update() argument 172 if (!huge) in hash__pte_update() 177 hpte_need_flush(mm, addr, ptep, old, huge); in hash__pte_update()
|
D | radix.h | 170 int huge) in radix__pte_update() argument 175 if (!huge) in radix__pte_update()
|
/Linux-v5.15/Documentation/core-api/ |
D | pin_user_pages.rst | 58 For huge pages (and in fact, any compound page of more than 2 pages), the 65 huge pages, because each tail page adds a refcount to the head page. And in 67 page overflows were seen in some huge page stress tests. 69 This also means that huge pages and compound pages (of order > 1) do not suffer 241 acquired since the system was powered on. For huge pages, the head page is 242 pinned once for each page (head page and each tail page) within the huge page. 243 This follows the same sort of behavior that get_user_pages() uses for huge 244 pages: the head page is refcounted once for each tail or head page in the huge 245 page, when get_user_pages() is applied to a huge page. 249 PAGE_SIZE granularity, even if the original pin was applied to a huge page.
|
/Linux-v5.15/Documentation/admin-guide/hw-vuln/ |
D | multihit.rst | 81 * - KVM: Mitigation: Split huge pages 111 In order to mitigate the vulnerability, KVM initially marks all huge pages 125 The KVM hypervisor mitigation mechanism for marking huge pages as 134 non-executable huge pages in Linux kernel KVM module. All huge
|
/Linux-v5.15/drivers/misc/lkdtm/ |
D | bugs.c | 197 volatile unsigned int huge = INT_MAX - 2; variable 204 value = huge; in lkdtm_OVERFLOW_SIGNED() 219 value = huge; in lkdtm_OVERFLOW_UNSIGNED()
|
/Linux-v5.15/arch/alpha/lib/ |
D | ev6-clear_user.S | 86 subq $1, 16, $4 # .. .. .. E : If < 16, we can not use the huge loop 87 and $16, 0x3f, $2 # .. .. E .. : Forward work for huge loop 88 subq $2, 0x40, $3 # .. E .. .. : bias counter (huge loop)
|
/Linux-v5.15/arch/powerpc/mm/book3s64/ |
D | hash_tlb.c | 41 pte_t *ptep, unsigned long pte, int huge) in hpte_need_flush() argument 61 if (huge) { in hpte_need_flush()
|
/Linux-v5.15/mm/ |
D | shmem.c | 117 int huge; member 489 switch (SHMEM_SB(inode->i_sb)->huge) { in shmem_is_huge() 527 static const char *shmem_format_huge(int huge) in shmem_format_huge() argument 529 switch (huge) { in shmem_format_huge() 1589 pgoff_t index, bool huge) in shmem_alloc_and_acct_page() argument 1597 huge = false; in shmem_alloc_and_acct_page() 1598 nr = huge ? HPAGE_PMD_NR : 1; in shmem_alloc_and_acct_page() 1603 if (huge) in shmem_alloc_and_acct_page() 2177 if (SHMEM_SB(sb)->huge == SHMEM_HUGE_NEVER) in shmem_get_unmapped_area() 3408 ctx->huge = result.uint_32; in shmem_parse_one() [all …]
|
/Linux-v5.15/Documentation/features/vm/huge-vmap/ |
D | arch-support.txt | 2 # Feature name: huge-vmap
|
/Linux-v5.15/arch/parisc/mm/ |
D | init.c | 402 bool huge = false; in map_pages() local 412 huge = true; in map_pages() 417 huge = true; in map_pages() 423 if (huge) in map_pages()
|
/Linux-v5.15/arch/powerpc/include/asm/nohash/64/ |
D | pgtable.h | 195 int huge) in pte_update() argument 201 if (!huge) in pte_update()
|
/Linux-v5.15/fs/netfs/ |
D | Kconfig | 8 segmentation, local caching and transparent huge page support.
|
/Linux-v5.15/Documentation/vm/damon/ |
D | design.rst | 45 Only small parts in the super-huge virtual address space of the processes are 50 cases. That said, too huge unmapped areas inside the monitoring target should 59 exceptionally huge in usual address spaces, excluding these will be sufficient
|
/Linux-v5.15/Documentation/riscv/ |
D | vm-layout.rst | 42 …0000004000000000 | +256 GB | ffffffbfffffffff | ~16M TB | ... huge, almost 64 bits wide hole of…
|
/Linux-v5.15/include/linux/ |
D | shmem_fs.h | 37 unsigned char huge; /* Whether to try for hugepages */ member
|