Why Not Sixty-Four Kilobytes

An architect proposes raising the system's only page size from 4 KiB to 64 KiB. Two of the arguments are simply true: a linear page table for a given address space shrinks by a factor of 16, and a TLB of the same entry count covers 16 times as much memory.

What is the strongest argument against making 64 KiB the universal default?

A

The TLB has to be flushed more often on a context switch, because one entry now covers memory that belongs to more than one process.

B

Every mapping rounds up to a multiple of 64 KiB, so a machine running hundreds of small processes and libraries loses the unused tail of each region, and every demand fault now pulls 64 KiB from storage.

C

External fragmentation of physical memory returns, because a 64 KiB frame has to be found as a contiguous run of free memory rather than assembled from whatever is free.

D

The page table needs more levels to cover the same address space, so every TLB miss costs an extra dependent memory read before the translation lands.