summaryrefslogtreecommitdiff
path: root/arch/x86/kvm/svm.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2014-03-27 09:51:52 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2014-07-11 09:13:56 +0200
commit98eb2f8b145cee711984d42eff5d6f19b6b1df69 (patch)
treeda28ce5a2a8dd362479ca4bd4d165254823c439f /arch/x86/kvm/svm.c
parent22d48b2d2aa0b078816eaa1e15e485811a2d03fa (diff)
KVM: vmx: speed up emulation of invalid guest state
About 25% of the time spent in emulation of invalid guest state is wasted in checking whether emulation is required for the next instruction. However, this almost never changes except when a segment register (or TR or LDTR) changes, or when there is a mode transition (i.e. CR0 changes). In fact, vmx_set_segment and vmx_set_cr0 already modify vmx->emulation_required (except that the former for some reason uses |= instead of just an assignment). So there is no need to call guest_state_valid in the emulation loop. Emulation performance test results indicate 1650-2600 cycles for common instructions, versus 2300-3200 before this patch on a Sandy Bridge Xeon. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/svm.c')
0 files changed, 0 insertions, 0 deletions