On Thu, 13 Jul 2023 08:06:57 +0100, Marc Zyngier wrote: > Xiang reports that VMs occasionally fail to boot on GICv4.1 systems when > running a preemptible kernel, as it is possible that a vCPU is blocked > without requesting a doorbell interrupt. > > The issue is that any preemption that occurs between vgic_v4_put() and > schedule() on the block path will mark the vPE as nonresident and *not* > request a doorbell irq. This occurs because when the vcpu thread is > resumed on its way to block, vcpu_load() will make the vPE resident > again. Once the vcpu actually blocks, we don't request a doorbell > anymore, and the vcpu won't be woken up on interrupt delivery. > > [...] Applied to kvmarm/fixes, thanks! [1/1] KVM: arm64: vgic-v4: Make the doorbell request robust w.r.t preemption https://git.kernel.org/kvmarm/kvmarm/c/b321c31c9b7b -- Best, Oliver