Method and apparatus for caching of page translations for virtual machines
First Claim
1. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for caching of page translations for virtual machines, the method comprising:
- managing a plurality of virtual machines having respective guest operating systems and respective guest page tables, wherein a guest page table of a first guest operating system provides a first translation from a first guest-virtual memory address of a translation look-aside buffer miss to a first guest-physical memory address in the guest page table, and a host page table of a host operating system, which provides a second translation from the first guest-physical memory address in the guest page table to a host-physical memory address; and
managing a cache page table for each of the virtual machines, the cache page tables storing a plurality of page base addresses, wherein a page base address of the plurality of page base addresses provides a third translation from the first guest-virtual memory address to the host-physical memory address indicated by a host bit associated with the page base address indicating that the page base address denotes a host-physical memory address, and wherein each page base address is associated with a respective host bit indicating whether the respective page base address denotes a guest-physical memory address or a host-physical memory address.
5 Assignments
0 Petitions
Accused Products
Abstract
A method for caching of page translations for virtual machines includes managing a number of virtual machines using a guest page table of a guest operating system, which provides a first translation from a guest-virtual memory address to a first guest-physical memory address or an invalid entry, and a host page table of a host operating system, which provides a second translation from the first guest-physical memory address to a host-physical memory address or an invalid entry, and managing a cache page table, wherein the cache page table selectively provides a third translation from the guest-virtual memory address to the host-physical memory address, a second guest-physical memory address or an invalid entry.
-
Citations
7 Claims
-
1. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for caching of page translations for virtual machines, the method comprising:
- managing a plurality of virtual machines having respective guest operating systems and respective guest page tables, wherein a guest page table of a first guest operating system provides a first translation from a first guest-virtual memory address of a translation look-aside buffer miss to a first guest-physical memory address in the guest page table, and a host page table of a host operating system, which provides a second translation from the first guest-physical memory address in the guest page table to a host-physical memory address; and
managing a cache page table for each of the virtual machines, the cache page tables storing a plurality of page base addresses, wherein a page base address of the plurality of page base addresses provides a third translation from the first guest-virtual memory address to the host-physical memory address indicated by a host bit associated with the page base address indicating that the page base address denotes a host-physical memory address, and wherein each page base address is associated with a respective host bit indicating whether the respective page base address denotes a guest-physical memory address or a host-physical memory address. - View Dependent Claims (2, 3, 4)
- managing a plurality of virtual machines having respective guest operating systems and respective guest page tables, wherein a guest page table of a first guest operating system provides a first translation from a first guest-virtual memory address of a translation look-aside buffer miss to a first guest-physical memory address in the guest page table, and a host page table of a host operating system, which provides a second translation from the first guest-physical memory address in the guest page table to a host-physical memory address; and
-
5. A method of translating virtual-memory addresses to physical-memory addresses in a computer system serving as a platform for execution of a virtual machine monitor, the method comprising:
-
managing a plurality of virtual machines using a guest page table of a guest operating system, which provides a first translation from a guest-virtual memory address of a translation look-aside buffer miss to a first guest-physical memory address, and a host page table of a host operating system, which provides a second translation from the first guest-physical memory address in the guest page table to a host-physical memory address of a next level guest page table; determining that a result of the first translation and the second translation from the guest-virtual to host-physical memory addresses covers a contiguous memory area that spans a plurality of pages of one host memory space; combining the result of the first translation and the second translation in a single combined translation from the guest-virtual memory address to the host-physical memory address; inserting the single combined translation as a superpage entry in a first cache page table; and managing a cache page table for each of the virtual machines, the first cache page table storing the superpage entry, a superpage bit indicating that the superpage entry is stored and at least one status update bit associated with all of the plurality of pages covered by the superpage entry. - View Dependent Claims (6, 7)
-
Specification