Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Method to force data page-in on hung computer systems

IP.com Disclosure Number: IPCOM000174760D
Original Publication Date: 2008-Sep-22
Included in the Prior Art Database: 2008-Sep-22
Document File: 1 page(s) / 25K

Publishing Venue

IBM

Abstract

Modern systems can become hung in the kernel for a variety of reasons. While a particular thread or subsystem may be hung, the rest of the system may not. This can cause potentially useful failure data to be paged out in certain situations. Currently, kernel debuggers are not designed to re-page in data. However, depending on system state, this can be possible and very useful to debug kernel problems.

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

Page 1 of 1

Method to force data page-in on hung computer systems

Disclosed is a method to force data page-in on a hung computer system. The core idea is that there are often situations in which the system is still active during a debug (as in a noncritical hang). In these scenarios, it would be possible to create a page-in daemon or kernel process that accepts commands from a debug utility or other source to page-in data into a processes' address space allowing that data to be viewed from the debug utility. The prime limitation is that the operating systems' virtual memory management subsystem must be intact for this page-in daemon or process to perform properly.

In pseudo-code, the design of the daemon would be as follows:

while (1)
{
if (debug

_page

_in

_request)

/* Wait for a request to page in data from the

kernel debug utility */

{

/* Check if the system is in a state where it can process the request * (i.e., not crashed and the virtual memory manager is intact)
*/
if (

)
{

             

/* If the system can't process, inform the user */

} else {

/* If ok, call a virtual memory API to initiate page in */ pagein(

,

);
}
debug

_page

_in

_request = 0;

/* Wait for next request */

}

}

1