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