Subject: Re: [PATCH v3 0/6] KVM: arm64: Don't perform vgic-v2 lazy init on timer injection

From: Oliver Upton <[email-masked]>
Date: Wed, 20 May 2026 11:26:14 -0700

On Wed, May 20, 2026 at 11:01:54AM +0100, Marc Zyngier wrote:
> This is the third version of this series aiming at fixing issues with
> vgic-v2 being initialised from non-preemptible context.
> 
> * From v2 [2]:
> 
>   - Remove the PMU's irq level cache which was hidding in plain sight
> 
>   - Simplify the userspace notification of interrupt level update
> 
>   - Additional comment clarification in patch #1
> 
>   - Collected RB, with thanks
> 
> * From v1 [1]:
> 
>   - Repaint kvm_timer_irq_can_fire() to kvm_timer_enabled()
> 
>   - Drop duplicate kvm_timer_update_status() call
> 
>   - Force lazy init on the irqfd slow-path for SPIs
> 
> [1] https://lore.kernel.org/r/[email-masked]
> [2] https://lore.kernel.org/r/[email-masked]
> 
> Marc Zyngier (6):
>   KVM: arm64: timer: Repaint kvm_timer_{should,irq_can}_fire() to
>     kvm_timer_{pending,enabled}()
>   KVM: arm64: Simplify userspace notification of interrupt state
>   KVM: arm64: timer: Kill the per-timer irq level cache
>   KVM: arm64: pmu: Kill the PMU interrupt level cache
>   KVM: arm64: vgic-v2: Force vgic init on injection outside the run loop
>   KVM: arm64: vgic-v2: Don't init the vgic on in-kernel interrupt
>     injection

s/how/now/ on the first line of the changelog in the last patch... Too
lazy to draft another mail.

Reviewed-by: Oliver Upton <[email-masked]>

Thanks,
Oliver