[PATCH 0/3] Optimize STI; HLT while an interrupt is pending

Avi Kivity
2011-02-14T14:42:30Z

If the guest executes the following code sequence

CLI
...
(interrupt becomes pending)
STI
HLT

then we will exit on HLT, enter the guest, and exit immediately again on
virtual interrupt pending. As this is wasteful, this patch set short
circuits the whole operation to inject the interrupt immediately.

(as I've seen this occur very rarely in ftrace, compared to what I saw
before I wrote the patch, please don't apply patches 2 and 3 until I've
had a chance to benchmark it)

Avi Kivity (3):
KVM: VMX: Cache CPU_BASED_VM_EXEC_CONTROL VMCS field
KVM: VMX: Short circuit STI; HLT while an interrupt is pending
KVM: SVM: Short circuit STI; HLT while an interrupt is pending

arch/x86/kvm/svm.c | 9 +++++++
arch/x86/kvm/vmx.c | 69 ++++++++++++++++++++++++++++-----------------------
2 files changed, 47 insertions(+), 31 deletions(-)