KVM: lapic: don't recalculate apic map table twice when enabling LAPIC
authorWanpeng Li <wanpeng.li@hotmail.com>
Wed, 3 Aug 2016 04:04:13 +0000 (12:04 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 19 Aug 2016 15:51:40 +0000 (17:51 +0200)
APIC map table is recalculated during reset APIC ID to the initial value
when enabling LAPIC. This patch move the recalculate_apic_map() to the
next branch since we don't need to recalculate apic map twice in current
codes.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/lapic.c

index b62c8522971180a4ce837c37a8fa079660bd2c27..23b99f3053825d40c6d697cf8c58dfb4ae941208 100644 (file)
@@ -1761,9 +1761,10 @@ void kvm_lapic_set_base(struct kvm_vcpu *vcpu, u64 value)
                if (value & MSR_IA32_APICBASE_ENABLE) {
                        kvm_apic_set_xapic_id(apic, vcpu->vcpu_id);
                        static_key_slow_dec_deferred(&apic_hw_disabled);
-               } else
+               } else {
                        static_key_slow_inc(&apic_hw_disabled.key);
-               recalculate_apic_map(vcpu->kvm);
+                       recalculate_apic_map(vcpu->kvm);
+               }
        }
 
        if ((old_value ^ value) & X2APIC_ENABLE) {