[PATCH] KVM: arm64: vgic: Allocate private interrupts on demand

Oliver Upton oliver.upton at linux.dev
Thu May 2 10:02:30 PDT 2024


On Thu, May 02, 2024 at 04:45:45PM +0100, Marc Zyngier wrote:
> Private interrupts are currently part of the CPU interface structure
> that is part of each and every vcpu we create.
> 
> Currently, we have 32 of them per vcpu, resulting in a per-vcpu array
> that is just shy of 4kB. On its own, that's no big deal, but it gets
> in the way of other things:
> 
> - each vcpu gets mapped at EL2 on nVHE/hVHE configurations. This
>   requires memory that is physically contiguous. However, the EL2
>   code has no purpose looking that the interrupt structures and

typo: looking at the interrupt ...

>   could do without them being mapped.
> 
> - supporting features such as EPPIs, which extend the number of
>   privrate interrupts past the 32 limit would make the array

typo: private

>   even larger, even for VMs that do not use the EPPI feature.
> 
> Address these issues by moving the private interrupt array outside
> of the vcpu, and replace it with a simple pointer. We take this
> opportunity to make it obvious what gets initialised when, as
> that path was remarkably opaque, and tighten the locking.
> 
> Signed-off-by: Marc Zyngier <maz at kernel.org>

Reviewed-by: Oliver Upton <oliver.upton at linux.dev>

-- 
Thanks,
Oliver



More information about the linux-arm-kernel mailing list