[PATCH v4 0/3] KVM: Introduce dedicated vCPUs hint KVM_HINTS_DEDICATED

From: Wanpeng Li
Date: Mon Feb 12 2018 - 20:05:55 EST


This patchset introduces dedicated vCPUs(vCPU pinning, and there is no
vCPU over-commitment) hint KVM_HINTS_DEDICATED, it has two users now:

1) Waiman Long mentioned that:

Generally speaking, unfair lock performs well for VMs with a small
number of vCPUs. Native qspinlock may perform better than pvqspinlock
if there is vCPU pinning and there is no vCPU over-commitment.

2) vCPUs are very unlikely to get preempted when they are the only task
running on a CPU. PV TLB flush is slower that the native flush in that
case.

v3 -> v4:
* update feature bit document
v2 -> v3:
* a separate table for CPUID[0x40000001].EDX bits
* a new kvm_hint_has_feature macro
v1 -> v2:
* update to KVM_HINTS_DEDICATED

Wanpeng Li (3):
KVM: Introduce dedicated vCPUs hint KVM_HINTS_DEDICATED
KVM: X86: Choose qspinlock when dedicated vCPUs available
KVM: X86: Don't use PV TLB flush with dedicated vCPUs and steal time disabled

Documentation/virtual/kvm/cpuid.txt | 15 +++++++++++++--
arch/mips/include/asm/kvm_para.h | 5 +++++
arch/powerpc/include/asm/kvm_para.h | 5 +++++
arch/s390/include/asm/kvm_para.h | 5 +++++
arch/x86/include/asm/kvm_para.h | 6 ++++++
arch/x86/include/uapi/asm/kvm_para.h | 8 ++++++--
arch/x86/kernel/kvm.c | 18 ++++++++++++++++--
include/asm-generic/kvm_para.h | 5 +++++
include/linux/kvm_para.h | 5 +++++
9 files changed, 66 insertions(+), 6 deletions(-)

--
2.7.4