Browse Prior Art Database

AIX520: Dynamic Page Table Management

IP.com Disclosure Number: IPCOM000016312D
Original Publication Date: 2002-Nov-24
Included in the Prior Art Database: 2003-Jun-21
Document File: 2 page(s) / 42K

Publishing Venue

IBM

Abstract

Disclosed is a method for managing page tables for dynamically added memory. A virtual memory manager (VMM) must maintain various data structures describing physical memory. AIX* has four that are of interest: the software page-frame table (SWPFT), the hardware page-frame table (HWPFT), a table mapping frames to indices in the HWPFT (the physical-to-virtual table, or PVT), and a list of indices in the HWPFT that are aliases to the same physical frame (the physical-to-virtual list, PVLIST).

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

AIX520: Dynamic Page Table Management

Disclosed is a method for managing page tables for dynamically added memory. A virtual memory manager (VMM) must maintain various data structures describing physical memory. AIX* has four that are of interest: the software page-frame table (SWPFT), the hardware page-frame table (HWPFT), a table mapping frames to indices in the HWPFT (the physical-to-virtual table, or PVT), and a list of indices in the HWPFT that are aliases to the same physical frame (the physical-to-virtual list, PVLIST).

The HWPFT and PVLIST are of fixed size, and are indexed by the entry number in the HWPFT, so they do not grow or shrink with a dynamic reconfiguration (DR) memory operation. The SWPFT and PVT are indexed by physical frame number, so with each DR memory operation either new entries of SWPFT and PVT are needed, or some become superfluous. In order to allow more scalability, it is desirable that memory resources not be used for unneeded SWPFT and PVT pages for any memory configuration. Thus a method to dynamically add and remove pages of SWPFT and PVT as each DR memory request is processed is sought.

Because the SWPFT and PVT are accessed translate-on after early system initialization time, there is no requirement that they be contiguous physically. Because system resources may be nearly fully consumed at the time a logical memory block (LMB) is dynamically added, it is desirable that the resources for the SWPFT and PVT that describe the newly added LMB come directly from the LMB itself. This also somewhat simplifies any subsequent removal of that LMB because the memory for its SWPFT/PVT does not need to be put back onto system freelists, but instead is removed from the operating system with the rest of the LMB.

It is required that the entries describing a block of memory both start and end exactly on a page boundary in order for them to fit properly within an LMB, because the memory describing a block must come only from that block. With no restrictions on the size of the SWPFT/PVT element des...