diff options
author | Wanpeng Li <wanpengli@tencent.com> | 2018-03-25 00:18:35 -0400 |
---|---|---|
committer | Radim Krčmář <rkrcmar@redhat.com> | 2018-03-28 09:53:34 -0400 |
commit | 17a1079d9c63579d6e392a526405b8888e9ede37 (patch) | |
tree | 45a51ab7dd342614895bcaf790ba223744d4d519 | |
parent | 9d1887ef3252a45f4e692525d04e23ce8091c17c (diff) |
KVM: x86: Fix pv tlb flush dependencies
PV TLB FLUSH can only be turned on when steal time is enabled.
The condition got reversed during conflict resolution.
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Fixes: 4f2f61fc5071 ("KVM: X86: Avoid traversing all the cpus for pv tlb flush when steal time is disabled")
[Rebased on top of kvm/master and reworded the commit message. - Radim]
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
-rw-r--r-- | arch/x86/kernel/kvm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c index bc1a27280c4b..fae86e36e399 100644 --- a/arch/x86/kernel/kvm.c +++ b/arch/x86/kernel/kvm.c | |||
@@ -546,7 +546,7 @@ static void __init kvm_guest_init(void) | |||
546 | } | 546 | } |
547 | 547 | ||
548 | if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) && | 548 | if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) && |
549 | !kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) | 549 | kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) |
550 | pv_mmu_ops.flush_tlb_others = kvm_flush_tlb_others; | 550 | pv_mmu_ops.flush_tlb_others = kvm_flush_tlb_others; |
551 | 551 | ||
552 | if (kvm_para_has_feature(KVM_FEATURE_PV_EOI)) | 552 | if (kvm_para_has_feature(KVM_FEATURE_PV_EOI)) |
@@ -635,7 +635,7 @@ static __init int kvm_setup_pv_tlb_flush(void) | |||
635 | int cpu; | 635 | int cpu; |
636 | 636 | ||
637 | if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) && | 637 | if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) && |
638 | !kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) { | 638 | kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) { |
639 | for_each_possible_cpu(cpu) { | 639 | for_each_possible_cpu(cpu) { |
640 | zalloc_cpumask_var_node(per_cpu_ptr(&__pv_tlb_mask, cpu), | 640 | zalloc_cpumask_var_node(per_cpu_ptr(&__pv_tlb_mask, cpu), |
641 | GFP_KERNEL, cpu_to_node(cpu)); | 641 | GFP_KERNEL, cpu_to_node(cpu)); |