Linux kernel developers debate memory overhead of page tables under heavy mapping
The piece traces a long-running kernel design discussion about page tables, starting from Linus Torvalds' 2003 defense of multi-level tree-based page tables over hashed tables for TLB efficiency, and his 1997 thesis noting memory efficiency as a secondary concern. It then describes a 2020 patch from Shakeel Butt adding a page-table usage metric to memory.stat, prompted by cases like zero-copy userspace network drivers where page tables consume unusually large amounts of memory, challenging Roman Gushchin's assumption that page tables are negligible relative to mapped memory.
GoKawiil's interpretation of the reporting above, not reported fact.
The discussion suggests that assumptions baked into kernel memory accounting decades ago may not hold for newer workloads such as zero-copy networking, where many processes mapping the same memory can multiply page-table overhead well beyond the typical 1/512 ratio. This could inform future kernel memory-accounting tools and cgroup resource limits for high-performance, memory-mapped applications.
- Torvalds' 2003 argument favored tree-based page tables for better TLB cache-line efficiency over hashed tables.
- Shakeel Butt proposed a 2020 kernel patch to track page table memory usage in cgroups via memory.stat.
- Zero-copy userspace network drivers were cited as a real-world case where page table memory overhead becomes significant, unlike typical assumptions.
Source: frn.sh, 2026-10-01
Published there as: “Page Table Memory Consumption”
Read the original report → The summary and analysis above are GoKawiil's own, written from reporting by the source above. Facts and quotes belong to the original publisher.