Prevent guests from booting with CPU topologies that have partially filled CPU cores or can result in partially filled CPU cores after CPU hotplug like
-smp 15,sockets=1,cores=4,threads=4,maxcpus=16 or -smp 15,sockets=1,cores=4,threads=4,maxcpus=17. Signed-off-by: Bharata B Rao <bhar...@linux.vnet.ibm.com> --- vl.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/vl.c b/vl.c index 7d993a5..23a1a1e 100644 --- a/vl.c +++ b/vl.c @@ -1248,6 +1248,15 @@ static void smp_parse(QemuOpts *opts) exit(1); } + if (cpus % threads || max_cpus % threads) { + error_report("cpu topology: " + "sockets (%u) cores (%u) threads (%u) with " + "smp_cpus (%u) maxcpus (%u) " + "will result in partially filled cores", + sockets, cores, threads, cpus, max_cpus); + exit(1); + } + smp_cpus = cpus; smp_cores = cores > 0 ? cores : 1; smp_threads = threads > 0 ? threads : 1; -- 2.1.0