diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2014-02-21 10:32:27 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-03-11 10:46:04 +0100 |
commit | facb0139698923dc7b7d15cafbb319219969f4fd (patch) | |
tree | d2f4e83b00ecfc8d744c8f8af5510bca5a8185cc /virt | |
parent | 5315c716b69f47e1751d09e16c7bd5b559419531 (diff) | |
download | blackbird-op-linux-facb0139698923dc7b7d15cafbb319219969f4fd.tar.gz blackbird-op-linux-facb0139698923dc7b7d15cafbb319219969f4fd.zip |
KVM: svm: Allow the guest to run with dirty debug registers
When not running in guest-debug mode (i.e. the guest controls the debug
registers, having to take an exit for each DR access is a waste of time.
If the guest gets into a state where each context switch causes DR to be
saved and restored, this can take away as much as 40% of the execution
time from the guest.
If the guest is running with vcpu->arch.db == vcpu->arch.eff_db, we
can let it write freely to the debug registers and reload them on the
next exit. We still need to exit on the first access, so that the
KVM_DEBUGREG_WONT_EXIT flag is set in switch_db_regs; after that, further
accesses to the debug registers will not cause a vmexit.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions