The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Aug. 31, 2010

Filed:

Dec. 22, 2006
Applicants:

John Te-jui Sheu, Redmond, WA (US);

Ernest S. Cohen, Wyncote, PA (US);

Matthew D. Hendel, Seattle, WA (US);

Landy Wang, Redmond, WA (US);

Rene Antonio Vega, Kirkland, WA (US);

Sharvil A. Nanavati, Dundas, CA;

Inventors:

John Te-Jui Sheu, Redmond, WA (US);

Ernest S. Cohen, Wyncote, PA (US);

Matthew D. Hendel, Seattle, WA (US);

Landy Wang, Redmond, WA (US);

Rene Antonio Vega, Kirkland, WA (US);

Sharvil A. Nanavati, Dundas, CA;

Assignee:

Microsoft Corporation, Redmond, WA (US);

Attorney:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F 12/10 (2006.01);
U.S. Cl.
CPC ...
Abstract

Various operations are provided that improve the scalability of virtual TLBs in multi-processor virtual machines, and they include: implicitly locking SPTs using per-processor generation counters; waiting for pending fills on other virtual processors to complete before servicing a GVA invalidation using the counters; write-protecting or unmaping guest pages in a deferred two-stage process or reclaiming SPTs in a deferred two-stage process; periodically coalescing two SPTs that shadow the same GPT with the same attributes; sharing SPTs between two SASes only at a specified level in a SPTT; flushing the entire virtual TLB using a generation counter; allocating a SPT to GPT from a NUMA node on which the GPT resides; having an instance for each NUMA node on which a virtual machine runs; and, correctly handling the serializing instructions executed by a guest in a virtual machine with more than one virtual processor sharing the virtual TLB.


Find Patent Forward Citations

Loading…