Open mmisono opened 5 years ago
Do you test on Windows host? I checked Windows HAXM codes. It also has limitation that HAX_MAX_VCPUS is defined to 16. Besides the limitation, vpid is a two bytes structure. High byte represents vm_id. So can't allocate vcpu for a VM more than 255.
@hyuan3 Hi, I don't have a Windows test environment and I tested my patch only on Linux.
Currently, HAXM supports max 16 vCPUs per VM.
Considering recent multi-core CPUs (e.g., Xeon scalable processor), I think the current limit is small. KVM supports max 288 vCPUs.
It seems on NetBSD,
HAX_MAX_VMS * HAX_MAX_VCPUS
pseudo devices are created at the module initialization, but on other platforms, a pseudo device is created when creating a vCPU (i.e., in thehax_vcpu_create_host()
). So I think except for NetBSD, increasingHAX_MAX_VCPUS
has no side effects.QEMU uses the
HAX_MAX_VCPUS
. This is my patch for the QEMU to allocate thehax_vcpu_state
as much as necessary (I tested this on the Linux host / Linux guest). I'm not sure other software using HAXM. Is there anything to consider?