Date: Fri, 12 Sep 2025 20:41:23 +0000 From: bugzilla-noreply@freebsd.org To: virtualization@FreeBSD.org Subject: [Bug 289471] bhyve ARM64 16 vCPU Limit Message-ID: <bug-289471-27103-mfrnBWqZGc@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-289471-27103@https.bugs.freebsd.org/bugzilla/> References: <bug-289471-27103@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-289471-27103-mfrnBWqZGc>
