Multi-level page table (source code)

= Multi-level page table

A hierarchy of <page tables> indexed by successive groups of virtual page number <bits>. Unused regions can omit lower-level tables.

The useful omission is an entire lower-level <array>, not merely an invalid <page table entry>. One absent upper-level entry can represent a large unmapped interval of the <address space>. The <Linux kernel>'s documented hierarchy uses this idea to avoid allocating tables for unused regions; its software levels can also be folded to match the hardware. <Page Tables by The kernel development community>[Page Tables: opening hierarchy discussion, paragraph beginning "One could of course imagine"; Page Table Folding]{ref}