On 22/12/2025 4:40 pm, Oleksii Kurochko wrote: > When CONFIG_NEW_VGIC=y and CONFIG_ARM_64=y, the size of struct vcpu > exceeds one page, which requires allocating two pages and led to the > introduction of MAX_PAGES_PER_VCPU. > > To remove the need for MAX_PAGES_PER_VCPU in a follow-up patch, the vgic > member of NEW_VGIC's struct vgic_vcpu member private_irq is changed to a > pointer to struct vgic_irq. > As a result, the size of struct vcpu for Arm64 is reduced to 2176 bytes, > compared to 3840 bytes (without these changes and with CONFIG_ARM_64=y) > and 4736 bytes (without these changes and with both CONFIG_ARM_64=y and > CONFIG_NEW_VGIC=y). > > Since the private_irqs member is now a pointer, vcpu_vgic_init() and > vcpu_vgic_free() are updated to allocate and free private_irqs instance. > > Suggested-by: Andrew Cooper <[email protected]> > Signed-off-by: Oleksii Kurochko <[email protected]>
Oh - even smaller than I was expecting. Reviewed-by: Andrew Cooper <[email protected]>
