[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