Browse Prior Art Database

Ensure Page Table Consistency across Power Management Hibernation

IP.com Disclosure Number: IPCOM000117299D
Original Publication Date: 1996-Jan-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 2 page(s) / 134K

Publishing Venue

IBM

Related People

O'Quin, JC: AUTHOR [+3]

Abstract

Methods to ensure that a consistent state of memory management page table structures are saved across a power management hibernation operation occurring in an environment where address translation is enabled.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 42% of the total text.

Ensure Page Table Consistency across Power Management Hibernation

      Methods to ensure that a consistent state of memory management
page table structures are saved across a power management hibernation
operation occurring in an environment where address translation is
enabled.

      Power management refers to operating system function that
provides for reduced power consumption on laptop machines running on
battery power or on so-called "green machines" which have energy
saving features.  The hibernation state of power management involves
saving the entire machine state to disk so that power can be turned
off to system memory.  When resuming from hibernation state the
machine state is restored and work resumes from the point of entering
hibernation.  For power management support on aix the existing system
dump interfaces are used to save the hibernation image to disk.  This
allows the use of existing code to access the disk rather than having
to provide separate code as part of the power management function.
However, the dump interfaces run in an environment where memory
management address translation is required.  As a result, addressing
exceptions may occur during the act of saving the machine state to
disk.  These page-fault exceptions may result in modifications to the
memory management page table structures.  Since these page table
structures are memory resident they are part of the machine state
that is saved to disk.  If a page-fault occurs that results in
modifications to page table structures which have already been saved
then those updates may be lost.  If a page-fault occurs that results
in modifications to page table structures which have partially been
saved then an inconsistent state of the structures may be saved.

      To save a consistent snapshot of memory it is necessary during
the hibernation operation that no memory allocation nor deallocation
occur.  Moreover, a page fault may occur even when all code and data
needed to perform the hibernation function is resident in memory.
For example, this can occur on architectures such as powerpc where
the page tables consist of fixed-length hash groups that may
overflow.  Thus, any time that address translation is enabled a
page-fault may occur as the result of a needed translation having
been overflowed.  Such an overflow fault results in changes to the
page table structures.  These structures generally consist of the
hardware page table, lists of physical-to-virtual mappings for each
real page of memory, and reference and modify status for each real
page frame.  An overflow fault results in a new entry being
established in the hardware page table and a new physical-to-virtual
mapping being added to the list for the page frame.  An overflow
fault may also result in the eviction of existing mapping.  Such an
eviction results in the reference and modify bits from the hardware
page table entry being saved, the removal of the entry from the
hardware p...