Lines Matching +full:higher +full:- +full:end

1 .. SPDX-License-Identifier: GPL-2.0
10 feature of all Unix-like systems as time went by. In 1985 the feature was
34 As you can see, with 4KB pages the page base address uses bits 12-31 of the
42 this single table were referred to as *PTE*:s - page table entries.
53 to mark large areas as unmapped at a higher level in the page table hierarchy.
55 Additionally, on modern CPUs, a higher level page table entry can point directly
57 megabytes or even gigabytes in a single high-level page table entry, taking
63 +-----+
65 +-----+
67 | +-----+
68 +-->| P4D |
69 +-----+
71 | +-----+
72 +-->| PUD |
73 +-----+
75 | +-----+
76 +-->| PMD |
77 +-----+
79 | +-----+
80 +-->| PTE |
81 +-----+
87 - **pte**, `pte_t`, `pteval_t` = **Page Table Entry** - mentioned earlier.
92 A typical example is that the `pteval_t` is a 32- or 64-bit value with the
94 architecture-specific bits such as memory protection.
98 table, it was retrofitted to be an array of mapping elements when two-level
102 - **pmd**, `pmd_t`, `pmdval_t` = **Page Middle Directory**, the hierarchy right
105 - **pud**, `pud_t`, `pudval_t` = **Page Upper Directory** was introduced after
106 the other levels to handle 4-level page tables. It is potentially unused,
109 - **p4d**, `p4d_t`, `p4dval_t` = **Page Level 4 Directory** was introduced to
110 handle 5-level page tables after the *pud* was introduced. Now it was clear
116 - **pgd**, `pgd_t`, `pgdval_t` = **Page Global Directory** - the Linux kernel
127 pointers on each level is architecture-defined.::
130 --> +-----+ PTE
131 | ptr |-------> +-----+
132 | ptr |- | ptr |-------> PAGE
137 +-----+ +----> +-----+
138 | ptr |-------> PAGE
148 compile-time augmented to just skip a level when accessing the next lower
151 Page table handling code that wishes to be architecture-neutral, such as the
154 architecture-specific code, so as to be robust to future changes.
187 "Copy-on-Write". Page faults may also happen when frames have been swapped out
193 and "Copy-on-Write" because these subjects are out of scope as they belong to
208 physical frames, the kernel invokes the out-of-memory (OOM) killer to make room
214 could use instructions to address (non-shared) memory which does not belong to
216 to a read-only location.
218 If the above-mentioned conditions happen in user-space, the kernel sends a
231 Whatever the routes, all architectures end up to the invocation of
239 condition resolves to the kernel sending the above-mentioned SIGSEGV signal
249 above-mentioned convention to name them after the corresponding types of tables
252 The page table walk may end at one of the middle or upper layers (PMD, PUD).
255 `huge pages`). When using these kinds of larger pages, higher level pages can
263 trade-offs, like wasted memory and allocation challenges.
265 At the very end of the walk with allocations, if it didn't return errors,