summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm
diff options
context:
space:
mode:
authorWanpeng Li <wanpengli@tencent.com>2019-06-11 20:23:50 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2019-07-02 18:56:05 +0200
commit32b72ecc83b651fb8633ac4bd44957c54367699d (patch)
tree6dea551b4900870e4fe16883a9ef9bf3130a5909 /arch/x86/kvm
parent715062970f3748fbbf55c1a8cb495051760a65c1 (diff)
downloadlinux-32b72ecc83b651fb8633ac4bd44957c54367699d.tar.gz
linux-32b72ecc83b651fb8633ac4bd44957c54367699d.tar.bz2
linux-32b72ecc83b651fb8633ac4bd44957c54367699d.zip
KVM: X86: Expose PV_SCHED_YIELD CPUID feature bit to guest
Expose PV_SCHED_YIELD feature bit to guest, the guest can check this feature bit before using paravirtualized sched yield. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Radim Krčmář <rkrcmar@redhat.com> Cc: Liran Alon <liran.alon@oracle.com> Signed-off-by: Wanpeng Li <wanpengli@tencent.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm')
-rw-r--r--arch/x86/kvm/cpuid.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 68c74e948e28..004cbd84c351 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -659,7 +659,8 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function,
(1 << KVM_FEATURE_PV_TLB_FLUSH) |
(1 << KVM_FEATURE_ASYNC_PF_VMEXIT) |
(1 << KVM_FEATURE_PV_SEND_IPI) |
- (1 << KVM_FEATURE_POLL_CONTROL);
+ (1 << KVM_FEATURE_POLL_CONTROL) |
+ (1 << KVM_FEATURE_PV_SCHED_YIELD);
if (sched_info_on())
entry->eax |= (1 << KVM_FEATURE_STEAL_TIME);