A guarded page table (GPT) for Linux

This project is dealing with developing a GPT (a specific instance of the more general multi-level page table (MLPT) for Linux. The aim of the work is to provide an alternative page table implementation for Linux systems using the related PageTableInterface project for Linux.

If you have any queries regarding the work please contact AdamWiggins

What is a GPT?

A guarded page table can be thought of as a standard multi-level or hierarchical page table with an additional technique known as /PathCompression applied to it. More specifically a GPT is a page table structure based on a path-compressed Trie. Other compression techniques can also be applied to tries and in this work we will also explore the use of /LevelCompression. For more information regarding the mechanisms the GPT provides and how these compare to the standard Linux page table see /MechanismsAndTradeoffs.

Design issues

A collection of notes regarding the design issues facing the GPT in Linux:

Supported architectures

The GPTs main target is 64-bit systems where standard MLPTs can lead to excessive page table memory usage and potentially deeper page table structures (more expensive lookup). For architectures where the page table is software walked the GPT can be a drop in replacement, for hardware walked architectures the GPT can either be the primary Linux page table, with the hardware walked format used as a cache or software TLB or an alternative page table implementation used, such as the default MLPT of the PageTableInterface.

Target architectures

Encoding entries

NOTE: This is a brain dump which needs to be cleaned up and organised - AdamWiggins.

The work has grown out of the earlier work towards VariableRadixPageTables for Linux.


IA64wiki: GuardedPageTable (last edited 2009-12-10 03:13:50 by localhost)

Gelato@UNSW is sponsored by
the University of New South Wales National ICT Australia The Gelato Federation Hewlett-Packard Company Australian Research Council
Please contact us with any questions or comments.