Reduction of operational costs of virtual TLBs
First Claim
1. A method for reducing the operational cost of a virtual machine environment, comprising:
- using at least one virtual translation look-aside buffer (TLB) with at least one shadow page table tree (SPTT) and at least one shadow page table (SPT) residing in said SPTT, wherein said at least one SPTT maps guest virtual addresses (GVAs) to system physical addresses (SPAs);
caching translations from at least one guest page table (GPTs), wherein said GPTs map said GVAs to guest physical addresses (GPAs); and
using data from (a) said at least one of SPT or (b) said GPT to perform an operation on said virtual TLB.
2 Assignments
0 Petitions
Accused Products
Abstract
Various operations are disclosed for improving the operational efficiency of a virtual translation look-aside buffer (TLB) in a virtual machine environment. For example, operations are disclosed that allow for determination of whether present entries in shadow page tables (SPTs) are stale by comparing shadowed guest page table (GPT) entries against snapshots taken when the entries were cached. Other operations are disclosed that allow a virtual machine monitor (VMM) to access shadow page table trees (SPTTs) by walking trees in software or in hardware. Still other operations are disclosed allowing the VMM to use a hash table to relate GVA ranges to SPTs that map them, thus significantly reducing the cost of having to walk each SPTT in order to invalidate desired GVA(s). And, finally, operations are disclosed allowing the VMM to determine global GVA ranges by checking a bitmap, when invalidating global GVAs.
-
Citations
20 Claims
-
1. A method for reducing the operational cost of a virtual machine environment, comprising:
-
using at least one virtual translation look-aside buffer (TLB) with at least one shadow page table tree (SPTT) and at least one shadow page table (SPT) residing in said SPTT, wherein said at least one SPTT maps guest virtual addresses (GVAs) to system physical addresses (SPAs); caching translations from at least one guest page table (GPTs), wherein said GPTs map said GVAs to guest physical addresses (GPAs); and using data from (a) said at least one of SPT or (b) said GPT to perform an operation on said virtual TLB. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for reducing the operational cost of a virtual machine environment, comprising:
-
at least one virtual translation look-aside buffer (TLB) with at least one shadow page table tree (SPTT) and at least one shadow page table (SPT) residing in said SPTT, wherein said at least one SPT maps guest virtual addresses (GVAs) to system physical addresses (SPAs); a set of (GPTs), wherein said GPTs map said GVAs to guest physical addresses (GPAs); and data from said at least one of SPT and said GPT to perform an operation on said virtual TLB. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A computer readable medium bearing computer executable instructions for reducing the operational cost of a virtual machine environment, comprising performing at least one of the following operations:
-
taking a snapshot of a guest page table (GPT) and comparing said snapshot to a later version of said GPT, in order to determine any stale entries in an associated shadow page table (SPT); accessing a shadow page table tree (SPTT) by walking the said SPTT in software, wherein said walking is accomplished by using system physical addresses (SPAs) associated with said SPTs; accessing said SPTT by walking the said SPTT in hardware, wherein said walking is accomplished by pointing virtual page table trees (VPTTs) to shadow SPTTs and walking said SPTTs using a hardware component; using a module to service GVA invalidations using a hash table relating said GVAs to SPTs that maps said GVAs; and using a module to determine whether GVAs are global by checking a bitmap for global GVA ranges.
-
Specification