Virtual TLB Enhancements

In addition to supporting the legacy TLB management mechanisms that are described in Legacy TLB Management Operations, the hypervisor also supports a set of enhancements that enable a guest to manage the virtual TLB more efficiently.

These enhanced operations can be used interchangeably with legacy TLB management operations. On some computers (those with sufficient virtualization support in hardware), the legacy TLB management instructions might be faster for local or remote (cross-processor) TLB invalidation. Guests that require optimal performance should use the CPUID leaf 0x40000004 to determine which of the following behaviors to implement by using hypercalls:

UseHypercallForAddressSpaceSwitch

If this bit is set, the caller should assume that it is faster to use the HvSwitchVirtualAddressSpace hypercall function to switch between address spaces. If this bit is clear, a MOV to CR3 instruction is recommended.

UseHypercallForLocalFlush

If this bit is set, the caller should assume that it is faster to use hypercalls (as opposed to INVLPG or MOV to CR3) to flush one or more pages from the virtual TLB.

UseHypercallForRemoteFlush

If this bit is set, the caller should assume that it is faster to use hypercalls (as opposed to using guest-generated inter-processor interrupts) to flush one or more pages from the virtual TLB.

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.