[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 06/15] vl: Don't silently change topology when all -s
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 06/15] vl: Don't silently change topology when all -smp options were set |
Date: |
Wed, 14 Jan 2015 10:41:23 +0100 |
From: Eduardo Habkost <address@hidden>
QEMU tries to change the "threads" option even if it was explicitly set
in the command-line, and it shouldn't do that.
The right thing to do when all options (cpus, sockets, cores, threds)
are explicitly set is to sanity check them and abort in case they don't
make sense (i.e. when sockets*cores*threads < cpus).
Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
vl.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/vl.c b/vl.c
index 95451b6..f6b24c4 100644
--- a/vl.c
+++ b/vl.c
@@ -1173,8 +1173,14 @@ static void smp_parse(QemuOpts *opts)
} else if (cores == 0) {
threads = threads > 0 ? threads : 1;
cores = cpus / (sockets * threads);
- } else {
+ } else if (threads == 0) {
threads = cpus / (cores * sockets);
+ } else if (sockets * cores * threads < cpus) {
+ fprintf(stderr, "cpu topology: error: "
+ "sockets (%u) * cores (%u) * threads (%u) < "
+ "smp_cpus (%u)\n",
+ sockets, cores, threads, cpus);
+ exit(1);
}
max_cpus = qemu_opt_get_number(opts, "maxcpus", 0);
--
1.8.3.1
- [Qemu-devel] [PULL 05/15] vl: fix max_cpus check, (continued)
- [Qemu-devel] [PULL 05/15] vl: fix max_cpus check, Paolo Bonzini, 2015/01/14
- [Qemu-devel] [PULL 08/15] target-i386: fix movntsd on big-endian hosts, Paolo Bonzini, 2015/01/14
- [Qemu-devel] [PULL 07/15] vl.c: fix regression when reading memory size from config file, Paolo Bonzini, 2015/01/14
- [Qemu-devel] [PULL 04/15] vl: Avoid unnecessary 'if' nesting, Paolo Bonzini, 2015/01/14
- [Qemu-devel] [PULL 01/15] char: restore stdio echo on resume from suspend., Paolo Bonzini, 2015/01/14
- [Qemu-devel] [PULL 09/15] target-i386: do not memcpy in and out of xmm_regs, Paolo Bonzini, 2015/01/14
- [Qemu-devel] [PULL 10/15] qemu-common.h: optimise muldiv64 if int128 is available, Paolo Bonzini, 2015/01/14
- [Qemu-devel] [PULL 14/15] qemu-timer: rename timer_init to timer_init_tl, Paolo Bonzini, 2015/01/14
- [Qemu-devel] [PULL 15/15] cpus: consistently use QEMU_CLOCK_VIRTUAL_RT for icount_warp_rt timer, Paolo Bonzini, 2015/01/14
- [Qemu-devel] [PULL 13/15] scsi: fix cancellation when I/O was completed but DMA was not., Paolo Bonzini, 2015/01/14
- [Qemu-devel] [PULL 06/15] vl: Don't silently change topology when all -smp options were set,
Paolo Bonzini <=
- [Qemu-devel] [PULL 11/15] hw/scsi/lsi53c895a: add support for additional diag / debug registers, Paolo Bonzini, 2015/01/14
- [Qemu-devel] [PULL 12/15] rules.mak: Fix module build, Paolo Bonzini, 2015/01/14
- Re: [Qemu-devel] [PULL 00/15] Misc patches for 2015-01-14, Peter Maydell, 2015/01/14