aboutsummaryrefslogtreecommitdiff
path: root/virt/kvm
diff options
context:
space:
mode:
authorGravatar Paolo Bonzini <pbonzini@redhat.com> 2021-08-10 06:11:35 -0400
committerGravatar Paolo Bonzini <pbonzini@redhat.com> 2021-08-13 03:35:14 -0400
commit1ccb6f983a063e794daeb03f90b3517f87dfae8f (patch)
tree8c69f5d8dc78cba673bde249c5d79f461ff3568a /virt/kvm
parentKVM: X86: Set host DR6 only on VMX and for KVM_DEBUGREG_WONT_EXIT (diff)
downloadlinux-1ccb6f983a063e794daeb03f90b3517f87dfae8f.tar.gz
linux-1ccb6f983a063e794daeb03f90b3517f87dfae8f.tar.bz2
linux-1ccb6f983a063e794daeb03f90b3517f87dfae8f.zip
KVM: VMX: Reset DR6 only when KVM_DEBUGREG_WONT_EXIT
The commit efdab992813fb ("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: Lai Jiangshan <laijs@linux.alibaba.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'virt/kvm')
0 files changed, 0 insertions, 0 deletions