KVM: LAPIC: micro-optimize fixed mode ipi delivery
[linux-2.6-microblaze.git] / arch / x86 / kvm / irq_comm.c
index 9d711c2..79afa0b 100644 (file)
@@ -52,15 +52,15 @@ int kvm_irq_delivery_to_apic(struct kvm *kvm, struct kvm_lapic *src,
        unsigned long dest_vcpu_bitmap[BITS_TO_LONGS(KVM_MAX_VCPUS)];
        unsigned int dest_vcpus = 0;
 
+       if (kvm_irq_delivery_to_apic_fast(kvm, src, irq, &r, dest_map))
+               return r;
+
        if (irq->dest_mode == APIC_DEST_PHYSICAL &&
            irq->dest_id == 0xff && kvm_lowest_prio_delivery(irq)) {
                printk(KERN_INFO "kvm: apic: phys broadcast and lowest prio\n");
                irq->delivery_mode = APIC_DM_FIXED;
        }
 
-       if (kvm_irq_delivery_to_apic_fast(kvm, src, irq, &r, dest_map))
-               return r;
-
        memset(dest_vcpu_bitmap, 0, sizeof(dest_vcpu_bitmap));
 
        kvm_for_each_vcpu(i, vcpu, kvm) {