[Bug 289471] bhyve ARM64 16 vCPU Limit
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 289471] bhyve ARM64 16 vCPU Limit"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 12 Sep 2025 20:41:23 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289471
--- Comment #3 from John Baldwin <jhb@FreeBSD.org> ---
(In reply to Michael Dexter from comment #2)
No. AMD64 originally used statically allocated arrays, e.g.:
struct vm {
...
struct vcpu vm_vcpus[16];
};
This is why a limit of 16 was hardcoded. The changes to amd64 to enable larger
vCPU counts replaced these static arrays with dynamic arrays allocated at VM
creation. arm64 support was added after these changes had been merged into
amd64 and arm64 has always used the new dynamic arrays approach.
On both amd64 and arm64 (and probably RISC-V, I haven't looked), the default
limit on the number of vCPUs is the number of physical CPUs on the host.
However, that limit can be changed via the hw.vmm.maxcpu loader tunable.
What behavior are you seeing with arm64 bhyve in your testing that looks like a
16 vCPU limit?
--
You are receiving this mail because:
You are the assignee for the bug.