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@xxxxxxxxxx> Reviewed-by: Oliver Upton <oliver.upton@xxxxxxxxx> -- Thanks, Oliver