• Eddie Dong's avatar
    KVM: VMX: Avoid saving and restoring msr_efer on lightweight vmexit · 2cc51560
    Eddie Dong authored
    MSR_EFER.LME/LMA bits are automatically save/restored by VMX
    hardware, KVM only needs to save NX/SCE bits at time of heavy
    weight VM Exit. But clearing NX bits in host envirnment may
    cause system hang if the host page table is using EXB bits,
    thus we leave NX bits as it is. If Host NX=1 and guest NX=0, we
    can do guest page table EXB bits check before inserting a shadow
    pte (though no guest is expecting to see this kind of gp fault).
    If host NX=0, we present guest no Execute-Disable feature to guest,
    thus no host NX=0, guest NX=1 combination.
    
    This patch reduces raw vmexit time by ~27%.
    
    Me: fix compile warnings on i386.
    Signed-off-by: default avatarYaozu (Eddie) Dong <eddie.dong@intel.com>
    Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
    2cc51560
vmx.c 57.5 KB