After recalculated the irq state of per vcpu, maybe, there is some vcpus became the state that have none pending irq form the state have pending irqs. So, it should be better that clear the irq_pending_on_cpu flag when recalculated result is false. Signed-off-by: wanghaibin <wanghaibin.wang@xxxxxxxxxx> --- virt/kvm/arm/vgic.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c index ec2192d..8390475 100644 --- a/virt/kvm/arm/vgic.c +++ b/virt/kvm/arm/vgic.c @@ -1188,6 +1188,8 @@ static void vgic_update_state(struct kvm *kvm) if (compute_pending_for_cpu(vcpu)) { pr_debug("CPU%d has pending interrupts\n", c); set_bit(c, dist->irq_pending_on_cpu); + } else { + clear_bit(c, dist->irq_pending_on_cpu); } } } -- 1.7.1 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm