Skip to content

Flexible Paging in Linux: Per-process Page Size

Dev JainArm Ltd

Blue TeamThe Linux Foundation30 minOpen on YouTube ↗

Demonstrates flexible Paging in Linux: Per-process Page Size and evaluates key implications for security practitioners.

Summary

Overview: Applications often run faster on a 64K page size kernel than on 4K. This is because larger pages reduce TLB pressure and pagetable walk overhead, greatly improving memory access speed. But sysadmins are hesitant to use a 16K/64K kernel as most applications have been historically tuned for 4K pages, and larger pages can increase memory waste due to internal fragmentation. We propose a design that changes the game by separating the page size of the user and the kernel. Instead of enforcing a singl

Key Topics: e system-wide page size, processes can operate under different page-size ABIs. A performance-critical app can use a 64K page-size ABI while still running on a 4K kernel via 16 contiguous 4K pages translated into a native 64K hardware page table, while lightweight apps continue using 4K pages on the same kernel.

Related talks