Patent ID: 7788464
Filing Date: 2010-08-31
Classification: G06F

Abstract:
1. A method for improving the scalability of virtual TLBs in multi-processor virtual machines, comprising: providing at least one virtual TLB; and sharing said at least one virtual TLB between at least two virtual processors from a plurality of virtual processors in a virtual machine environment, wherein said sharing involves performing at least one operation; said at least two virtual processors sharing memory in a non-uniform memory architecture (NUMA) node; allocating memory for said at least one virtual TLB from the NUMA node; and forwarding guest virtual address invalidation requests to at least one of said virtual TLBs based on a heuristic; wherein said at least one operation comprises: maintaining walk generation counters for corresponding said plurality of virtual processors in said virtual machine environment, wherein said walk generation counters are configured to be incremented to a first set of values when said virtual processors start accessing shadow page tables associated with said at least one virtual TLB, and wherein said walk generation counters are configured to be incremented to a second set of values when said virtual processors have finished accessing said shadow page tables; and preventing the repurposing of said shadow page tables with a non-zero reference count at the time of or since the last transition between said first set of values and said second set of values for one or more of shadow page table generation counters, thereby effectively locking said shadow page tables implicitly via said shadow page table generation counters.