• Paolo Bonzini's avatar
    KVM: VMX: Reset DR6 only when KVM_DEBUGREG_WONT_EXIT · 1ccb6f98
    Paolo Bonzini authored
    The commit efdab992 ("KVM: x86: fix escape of guest dr6 to the host")
    fixed a bug by resetting DR6 unconditionally when the vcpu being scheduled out.
    
    But writing to debug registers is slow, and it can be visible in perf results
    sometimes, even if neither the host nor the guest activate breakpoints.
    
    Since KVM_DEBUGREG_WONT_EXIT on Intel processors is the only case
    where DR6 gets the guest value, and it never happens at all on SVM,
    the register can be cleared in vmx.c right after reading it.
    Reported-by: default avatarLai Jiangshan <laijs@linux.alibaba.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    1ccb6f98
vmx.c 224 KB