On 2020-04-27 16:37, André Przywara wrote:
On 27/04/2020 15:17, Marc Zyngier wrote:
Hi,
On arm64, the maximum number of vcpus is constrained by the type
of interrupt controller that has been selected (GICv2 imposes a
limit of 8 vcpus, while GICv3 currently has a limit of 512).
It is thus important to request this limit on the VM file descriptor
rather than on the one that corresponds to /dev/kvm, as the latter
is likely to return something that doesn't take the constraints into
account.
That sounds reasonable, but I fail to find any distinction in the
kernel
code. We don't make any difference between the VM or the system FD in
the ioctl handler for those two extensions. For arm64 we always return
max. 512 (max VCPUs on GICv3), and number of online host cores for the
recommended value. For arm there was a distinction between GICv3
support
compiled in or not, but otherwise the same constant values returned.
Quickly tested on Juno and N1SDP, the ioctls return the same expected
values, regardless of sys_fd vs vm_fd.
So what am I missing here? Is this for some older or even newer
kernels?
You're missing this:
https://lore.kernel.org/kvm/20200427141507.284985-1-maz@xxxxxxxxxx/
which adds the missing bits to the kernel.
Thanks,
M.
--
Jazz is not dead. It just smells funny...