HomeFreeBSD

MFC r358848:

Description

MFC r358848:

Untangle TPR shadowing and APIC virtualization.

This speeds up Windows guests tremendously.

The patch does:
Add a new tuneable 'hw.vmm.vmx.use_tpr_shadowing' to disable TLP shadowing.
Also add 'hw.vmm.vmx.cap.tpr_shadowing' to be able to query if TPR shadowing is used.

Detach the initialization of TPR shadowing from the initialization of APIC virtualization.
APIC virtualization still needs TPR shadowing, but not vice versa.
Any CPU that supports APIC virtualization should also support TPR shadowing.

When TPR shadowing is used, the APIC page of each vCPU is written to the VMCS_VIRTUAL_APIC field of the VMCS
so that the CPU can write directly to the page without intercept.

On vm exit, vlapic_update_ppr() is called to update the PPR.

GeƤnderte Pfade:
   M /head/sys/amd64/vmm/intel/vmx.c M /head/sys/amd64/vmm/io/vlapic.c M
   /head/sys/amd64/vmm/io/vlapic.h

Submitted by: Yamagi Burmeister
Reviewed by: grehan
Differential Revision: https://reviews.freebsd.org/D22942

Details

Provenance
mrAuthored on
Reviewer
grehan
Differential Revision
D22942: Untangle TPR shadowing and APIC virtualization
Parents
rS360102: Conditionally install Kerberos rc files based on MK_KERBEROS_SCRIPTS
Branches
Unknown
Tags
Unknown