IP Library Granted Patent US 7,971,027
Granted Patent B2
US 7,971,027 · App. 12/135,286 · Granted Jun 28, 2011

Mark page-out pages as critical for cooperative memory over-commitment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,971,027
App. No.
12/135,286
Granted
Jun 28, 2011
Kind
B2
Abstract

Disclosed is a computer implemented method and apparatus for marking as critical a virtual memory page in a data processing system. An operating system indicates to a virtual memory manager a virtual memory page selected for paging-out to disk. The operating system determines that the data processing system is using a cooperative memory over-commitment. The operating system, responsive to a determination that the data processing system is using cooperative memory over-commitment, marks the virtual memory page as critical, such that the virtual memory page remains in physical memory. The operating system, responsive to marking the virtual memory page as critical, sets the virtual memory page to a page-out state.

Claims (47)

1. A computer implemented method for marking as critical a virtual memory page in a data processing system, the method comprising:

indicating to a virtual memory manager a virtual memory page selected for paging-out to disk;

determining that the data processing system is using a cooperative memory over-commitment;

responsive to a determination that the data processing system is using cooperative memory over-commitment, marking the virtual memory page as critical, such that the virtual memory page remains in physical memory; and

responsive to marking the virtual memory page as critical, setting the virtual memory page to a page-out state.

2. The computer implemented method of claim 1 , wherein the step of setting the memory page to a page-out state further comprises:

flushing the virtual memory page out to a disk.

3. The computer implemented method of claim 2 , wherein the step of flushing is performed by computer program instructions that comprise an operating system.

4. The computer implemented method of claim 2 , further comprising:

finishing flushing the virtual memory page out to the disk; and

responsive to finishing flushing the virtual memory page out to the disk, marking the virtual memory page as active.

5. The computer implemented method of claim 1 , wherein the step of indicating further comprises:

changing a translation associated with the virtual memory page in a hardware page table.

6. The computer implemented method of claim 1 , wherein the virtual memory page is physically located in storage, the step of marking further comprising:

responsive to marking the virtual memory page as critical, copying the virtual memory page to physical memory.

7. The computer implemented method of claim 6 , wherein the step of setting the virtual memory page to a page-out state further comprises:

finishing flushing the virtual memory page out to the disk; and

marking the virtual memory page as active in the hardware page table in response to finishing flushing the virtual memory page out to the disk.

8. A data processing system comprising:

a bus;

a storage device connected to the bus, wherein computer usable code is located in the storage device;

a communication unit connected to the bus; and

a processing unit connected to the bus, wherein the processing unit executes the computer usable code for marking as critical a virtual memory page in a data processing system, wherein the processing unit executes the computer usable program code to indicate to a virtual memory manager a virtual memory page selected for paging-out to disk; determine that the data processing system is using a cooperative memory over-commitment; mark the virtual memory page as critical, such that the virtual memory page remains in physical memory responsive to a determination that the data processing system is using cooperative memory over-commitment; and set the virtual memory page to a page-out state responsive to marking the virtual memory page as critical.

9. The data processing system of claim 8 , wherein in executing computer usable code to set the memory page to a page-out state, the processor executes computer usable code to flush the virtual memory page out to a disk.

10. The data processing system of claim 9 , wherein processor executed computer usable code to flush is performed by computer program instructions that comprise an operating system.

11. The data processing system of claim 9 , wherein the processor further executes computer usable code to finish flushing the virtual memory page out to the disk and mark the virtual memory page as active responsive to finishing flushing the virtual memory page out to the disk.

12. The data processing system of claim 8 , wherein in executing computer usable code to indicate, the processor executes computer usable code to change a translation associated with the virtual memory page in a hardware page table.

13. The data processing system of claim 8 , wherein the virtual memory page is physically located in storage, wherein in executing computer usable code to mark, the processor executes computer usable program code to copy the virtual memory page to physical memory.

14. The data processing system of claim 13 , wherein in executing computer usable code to set the virtual memory page to a page-out state, the processor executes computer usable code to mark the virtual memory page as active in the hardware page table.

15. A computer program product for marking as critical a virtual memory page in a data processing system, the computer program product comprising:

one or more computer-readable, tangible storage devices;

program instructions, stored on at least one of the one or more tangible storage devices, to indicate to a virtual memory manager a virtual memory page selected for paging-out to disk;

program instructions, stored on at least one of the one or more tangible storage devices, to determine that the data processing system is using a cooperative memory over-commitment;

program instructions, stored on at least one of the one or more tangible storage devices, to mark the virtual memory page as critical, such that the virtual memory page remains in physical memory responsive to a determination that the data processing system is using cooperative memory over-commitment; and

program instructions, stored on at least one of the one or more tangible storage devices, to set the virtual memory page to a page-out state responsive to marking the virtual memory page as critical.

16. The computer program product of claim 15 , wherein the program instructions, stored on at least one of the one or more tangible storage devices, to set the memory page to a page-out state further comprises:

program instructions, stored on at least one of the one or more tangible storage devices, to flush the virtual memory page out to a disk.

17. The computer program product of claim 16 , wherein the program instructions, stored on at least one of the one or more tangible storage devices, to flush is performed by computer program instructions that comprise an operating system.

18. The computer program product of claim 16 , further comprising:

program instructions, stored on at least one of the one or more tangible storage devices, to finish flushing the virtual memory page out to the disk; and

program instructions, stored on at least one of the one or more tangible storage devices, to mark the virtual memory page as active responsive to finishing flushing the virtual memory page out to the disk.

19. The computer program product of claim 15 , wherein the program instructions, stored on at least one of the one or more tangible storage devices, to indicate further comprises:

program instructions, stored on at least one of the one or more tangible storage devices, to change a translation associated with the virtual memory page in a hardware page table.

20. The computer program product of claim 15 , wherein the virtual memory page is physically located in storage, the program instructions, stored on at least one of the one or more tangible storage devices, to mark further comprising:

program instructions, stored on at least one of the one or more tangible storage devices, to copy the virtual memory page to physical memory.

21. The computer program product of claim 20 , wherein the program instructions, stored on at least one of the one or more tangible storage devices, to set the virtual memory page to a page-out state further comprises:

program instructions, stored on at least one of the one or more tangible storage devices, to mark the virtual memory page as active in the hardware page table.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: WRP IP MANAGEMENT, LLC
Reel/Frame 049033/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2008
From: FLEMING, MATTHEW D.; HEPKIN, DAVID A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021063/0593 →