diff options
author | wanghaibin <wanghaibin.wang@huawei.com> | 2014-11-17 04:27:37 -0500 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2014-11-25 08:57:26 -0500 |
commit | 7d39f9e32c761abaa84bef7c4a4d9349ba8638e0 (patch) | |
tree | c00ec04a8e2c218aa2f38304cdc0b0ba9ef13246 /virt/kvm | |
parent | f62c95fd4041d669159dd76ac0bb2a7f86b5b05d (diff) |
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/kvm')
-rw-r--r-- | virt/kvm/arm/vgic.c | 3 |
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, | |||
1646 | } else { | 1646 | } else { |
1647 | vgic_dist_irq_clear_pending(vcpu, irq_num); | 1647 | vgic_dist_irq_clear_pending(vcpu, irq_num); |
1648 | } | 1648 | } |
1649 | |||
1650 | ret = false; | ||
1651 | goto out; | ||
1649 | } | 1652 | } |
1650 | 1653 | ||
1651 | enabled = vgic_irq_is_enabled(vcpu, irq_num); | 1654 | enabled = vgic_irq_is_enabled(vcpu, irq_num); |