[PATCH v2 0/3] Provides userspace with per-VM capability to improve latency

From: Wanpeng Li
Date: Mon Mar 12 2018 - 07:54:30 EST


Provides userspace with per-VM capability(KVM_CAP_X86_DISABLE_EXITS) to
not intercept MWAIT/HLT/PAUSE in order that to improve latency in some
workloads.

The patchset implements the original proposal from Radim.
https://www.spinics.net/lists/kvm/msg146879.html

In addition, thanks to Jan H. SchÃnherr's attempt last year.

v1 -> v2:
* remove blinding setting KVM_ENABLE_CAP statement in doc
* move PV_UNHALT associated statement to 2/3
* rename kvm_mwait_can_in_guest to kvm_can_mwait_in_guest
* remove unconditionally set INTERCEPT HLT in svm
* call vmx_clear_hlt() from pre_enter_smm()
* add a check to kvm_update_cpuid() that forbits KVM_FEATURE_PV_UNHALT
when halt exits are disabld

Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Radim KrÄmÃÅ <rkrcmar@xxxxxxxxxx>
Cc: Jan H. SchÃnherr <jschoenh@xxxxxxxxx>

Wanpeng Li (3):
KVM: X86: Provides userspace with a capability to not intercept MWAIT
KVM: X86: Provides userspace with a capability to not intercept HLT
KVM: X86: Provides userspace with a capability to not intercept PAUSE

Documentation/virtual/kvm/api.txt | 24 ++++++++++++-------
arch/x86/include/asm/kvm_host.h | 4 ++++
arch/x86/kvm/cpuid.c | 5 ++++
arch/x86/kvm/svm.c | 9 ++++---
arch/x86/kvm/vmx.c | 50 ++++++++++++++++++++++++++++++++-------
arch/x86/kvm/x86.c | 29 +++++++++++++++++++----
arch/x86/kvm/x86.h | 24 +++++++++++++++----
include/uapi/linux/kvm.h | 2 +-
tools/include/uapi/linux/kvm.h | 2 +-
9 files changed, 118 insertions(+), 31 deletions(-)

--
2.7.4