On 29/12/2025 11:10 am, Orzel, Michal wrote: > > On 29/12/2025 12:08, Orzel, Michal wrote: >> >> On 23/12/2025 18:01, 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. > Also, I think it would be better to drop MAX_PAGES_PER_VCPU in this patch.
Or at least shrink it to just 1, which would be minimal churn. > > ~Michal > >>> 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 >> s/vgic_vcpu/vgic_cpu/ >> s/private_irq/private_irqs/ >> >>> 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). >> You only touch new vGIC, so there should be no size reduction without it but >> the >> paragraph reads as if the change affected both old and new vGIC. Also I would >> mention that probably you provided the numbers based on a defconfig target. I think that was stale from v1, where this patch was far larger and more invasive. ~Andrew
