IP Library › Granted Patent US 8,799,892
Granted Patent B2
US 8,799,892 · App. 12/135,316 · Granted Aug 5, 2014

Selective memory donation in virtual real memory environment

Inventor: David Alan Hepkin (Austin, TX)
Assignee: International Business Machines Corporation
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 8,799,892
App. No.
12/135,316
Granted
Aug 5, 2014
Kind
B2
Abstract

A method, system, and computer usable program product for selective memory donation in a virtual real memory environment are provided in the illustrative embodiments. A virtual machine receives a request for memory donation. A component of the virtual machine determines whether a portion of a memory space being used for file caching exceeds a threshold. The determining forms a threshold determination, and the portion of the memory space being used for file caching forms a file cache. If the threshold determination is false, the component ignores the request. If the threshold determination is true, a component of the virtual machine releases a part of the file cache that exceeds the threshold. The part of the file cache forms a released file cache. In response to the request, the virtual machine makes the released file cache available to a requester of the request.

Claims (40)

1. A computer implemented method for selective memory donation, the computer implemented method comprising:

receiving, in a virtual machine, a request for memory donation;

selectively determining with an available option to ignore the request, in the virtual machine, whether a size of a portion of a memory space being used for file caching exceeds a threshold size, forming a threshold determination, the portion of the memory space being used for file caching forming a file cache;

releasing, responsive to the threshold determination being true, a part of the file cache that exceeds the threshold size, the part forming a released file cache; and

making available, responsive to the request, the released file cache to a requestor of the request by making a set of virtualized real memory addresses corresponding to the released file cache accessible to the requestor, wherein the set of virtualized real memory addresses remains accessible to the virtual machine to reclaim at least a portion of the released file cache.

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

ignoring the request, responsive to the threshold determination being false, wherein the requestor is a partition management firmware outside the virtual machine.

3. The computer implemented method of claim 1 , wherein the memory space is a virtualized real memory space, and wherein making available the released file cache is making available a virtualized real memory address from the virtualized real memory space.

4. The computer implemented method of claim 1 , wherein the threshold is configurable by a user of the virtual machine.

5. The computer implemented method of claim 1 , further comprising:

reclaiming the released file cache by using a portion of the released file cache in the virtual machine.

6. The computer implemented method of claim 1 , wherein the requestor is a hypervisor.

7. The computer implemented method of claim 6 , wherein an operating system of the virtual machine allocates a first paging space of a first size, the first size being substantially smaller than a size of the memory space, and wherein the hypervisor allocates a second paging space of a second size, the second size being substantially equal to the size of the memory space.

8. A computer usable program product comprising a computer usable hardware storage device including computer usable code for selective memory donation, the computer usable code comprising

computer usable code for receiving, in a virtual machine, a request for memory donation;

computer usable code for selectively determining with an available option to ignore the request, in the virtual machine, whether a size of a portion of a memory space being used for file caching exceeds a threshold size, forming a threshold determination, the portion of the memory space being used for file caching forming a file cache;

computer usable code for releasing, responsive to the threshold determination being true, a part of the file cache that exceeds the threshold size, the part forming a released file cache; and

computer usable code for making available, responsive to the request, the released file cache to a requestor of the request by making a set of virtualized real memory addresses corresponding to the released file cache accessible to the requestor, wherein the set of virtualized real memory addresses remains accessible to the virtual machine to reclaim at least a portion of the released file cache.

9. The computer usable program product of claim 8 , further comprising:

computer usable code for ignoring the request, responsive to the threshold determination being false, wherein the requestor is a partition management firmware outside the virtual machine.

10. The computer usable program product of claim 8 , wherein the memory space is a virtualized real memory space, and wherein the computer usable code for making available the released file cache includes computer usable code for making available a virtualized real memory address from the virtualized real memory space.

11. The computer usable program product of claim 8 , comprising computer usable code for configuring the threshold, by a user of the virtual machine.

12. The computer usable program product of claim 8 , further comprising:

computer usable code for reclaiming the released file cache by using a portion of the released file cache in the virtual machine.

13. The computer usable program product of claim 8 , wherein the requestor is a hypervisor.

14. The computer usable program product of claim 13 , wherein an operating system of the virtual machine executes computer usable code for allocating a first paging space of a first size, the first size being substantially smaller than a size of the memory space, and wherein the hypervisor executes computer usable code for allocating a second paging space of a second size, the second size being substantially equal to the size of the memory space.

15. A data processing system for selective memory donation, the data processing system comprising:

a storage device including a storage medium, wherein the storage device stores computer usable program code; and

a processor, wherein the processor executes the computer usable program code, and wherein the computer usable program code comprises:

computer usable code for receiving, in a virtual machine, a request for memory donation;

computer usable code for selectively determining with an available option to ignore the request, in the virtual machine, whether a size of a portion of a memory space being used for file caching exceeds a threshold size, forming a threshold determination, the portion of the memory space being used for file caching forming a file cache;

computer usable code for releasing, responsive to the threshold determination being true, a part of the file cache that exceeds the threshold size, the part forming a released file cache; and

computer usable code for making available, responsive to the request, the released file cache to a requestor of the request by making a set of virtualized real memory addresses corresponding to the released file cache accessible to the requestor, wherein the set of virtualized real memory addresses remains accessible to the virtual machine to reclaim at least a portion of the released file cache.

16. The data processing system of claim 15 , further comprising:

computer usable code for ignoring the request, responsive to the threshold determination being false, wherein the requestor is a partition management firmware outside the virtual machine.

17. The data processing system of claim 15 , wherein the memory space is a virtualized real memory space, and wherein the computer usable code for making available the released file cache includes computer usable code for making available a virtualized real memory address from the virtualized real memory space.

18. The data processing system of claim 15 , comprising computer usable code for configuring the threshold, by a user of the virtual machine.

19. The data processing system of claim 15 , further comprising:

computer usable code for reclaiming the released file cache by using a portion of the released file cache in the virtual machine.

20. The data processing system of claim 15 , wherein the requestor is a hypervisor, and wherein an operating system of the virtual machine executes computer usable code for allocating a first paging space of a first size, the first size being substantially smaller than a size of the memory space, and wherein the hypervisor executes computer usable code for allocating a second paging space of a second size, the second size being substantially equal to the size of the memory space.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2008
From: HEPKIN, DAVID ALAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021063/0920 →
Continuity (1)
Related Publication 20090307686A1 · Dec 10, 2009