Hello! > I reworked the commit message and applied this patch. During testing i discovered a problem with this patch and vITS series by Andre. The problem is that compute_pending_for_cpu() does not know anything about LPIs. Therefore, we can reset this bit even if some LPIs (and only LPIs) are pending. This causes LPI loss. This is the confirmation of that clearing irq_pending_on_cpu anywhere else than __kvm_vgic_flush_hwstate() is a bad idea. I would suggest to stick back to v1 of the patch (without clearing this bit). We can add a clarifying description to the commit message like this: --- cut --- In some situations level-sensitive IRQ disappears before it has been processed. This is normal, and in this situation we lose this IRQ, the same as real HW does. The aim of this patch is to handle this situation more correctly. However, dist->irq_pending_on_cpu stays set until the vCPU itself rechecks its status. Therefore, this bit does not guarantee that something is pending at the given moment, it should be treated as attention flag, saying that something has happened on this vCPU, and it could have been even gone since that, but wakeup and status recheck is needed. --- cut --- Would you be happy with this? An alternative would be to add a check for pending LPIs, but wouldn't it just be too complex for a simple problem? Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html