summaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorwanghaibin <wanghaibin.wang@huawei.com>2014-11-17 09:27:37 +0000
committerMarc Zyngier <marc.zyngier@arm.com>2014-11-25 13:57:26 +0000
commit7d39f9e32c761abaa84bef7c4a4d9349ba8638e0 (patch)
treec00ec04a8e2c218aa2f38304cdc0b0ba9ef13246 /virt
parentf62c95fd4041d669159dd76ac0bb2a7f86b5b05d (diff)
downloadlinux-7d39f9e32c761abaa84bef7c4a4d9349ba8638e0.tar.gz
linux-7d39f9e32c761abaa84bef7c4a4d9349ba8638e0.tar.bz2
linux-7d39f9e32c761abaa84bef7c4a4d9349ba8638e0.zip
KVM: ARM: VGIC: Optimize the vGIC vgic_update_irq_pending function.
When vgic_update_irq_pending with level-sensitive false, it is need to deactivates an interrupt, and, it can go to out directly. Here return a false value, because it will be not need to kick. Signed-off-by: wanghaibin <wanghaibin.wang@huawei.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'virt')
-rw-r--r--virt/kvm/arm/vgic.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c
index 3aaca49de325..5acf2c93f616 100644
--- a/virt/kvm/arm/vgic.c
+++ b/virt/kvm/arm/vgic.c
@@ -1646,6 +1646,9 @@ static bool vgic_update_irq_pending(struct kvm *kvm, int cpuid,
} else {
vgic_dist_irq_clear_pending(vcpu, irq_num);
}
+
+ ret = false;
+ goto out;
}
enabled = vgic_irq_is_enabled(vcpu, irq_num);