Hi Eric,
On 2019/8/28 0:05, Eric Auger wrote:
Since 4.18, KVM/ARM exposes a KVM_MAX_VCPUS equal to 512. However it was
reported [1] that a VM with more than 256 vcpus cannot be launched. 5.4
is about to fix the situation with 2 patches:
- one upgrade of the KVM_IRQ_LINE API [2] supporting a vcpu id encoded
on 12 bits,
- the reduction of KVM IO devices consumed by each GICv3 redistributor [3]
This series uses the new KVM_IRQ_LINE API and also checks the associated
capability (KVM_CAP_ARM_IRQ_LINE_LAYOUT_2) in machvirt.
Without the series, as soon as the -smp arguments exceeds 256, QEMU exits
with "kvm_set_irq: Invalid argument".
For the series:
Tested-by: Zenghui Yu <[email protected]>
together with [2], [3].
Best Regards
Eric
References:
[1] Can we boot a 512U kvm guest?
https://patchwork.kernel.org/patch/11091501/
[2] [PATCH] KVM: arm/arm64: vgic: Allow more than 256 vcpus for KVM_IRQ_LINE
https://patchwork.kernel.org/patch/11099609/
[3] [PATCH] KVM: arm/arm64: vgic: Use a single IO device per redistributor
https://patchwork.kernel.org/patch/11112141/
This series can be found at:
https://github.com/eauger/qemu/tree/v4.1.0-256fix-rfc-v1
Eric Auger (3):
linux headers: update for KVM_CAP_ARM_IRQ_LINE_LAYOUT_2
intc/arm_gic: Support PPI injection for more than 256 vpus
virt: Check KVM_CAP_ARM_IRQ_LINE_LAYOUT_2 for smp_cpus > 256
Thanks,
zenghui