Message ID | 20110708195950.GA23040@os.inf.tu-dresden.de |
---|---|
State | New |
Headers | show |
diff --git a/vl.c b/vl.c index fcd7395..1459bde 100644 --- a/vl.c +++ b/vl.c @@ -886,6 +886,8 @@ static void smp_parse(const char *optarg) max_cpus = strtoull(option, NULL, 10); /* compute missing values, prefer sockets over cores over threads */ + if (sockets + cores + threads == 0) + cores = smp; if (smp == 0 || sockets == 0) { sockets = sockets > 0 ? sockets : 1; cores = cores > 0 ? cores : 1;
Hi, When just using a simple '-smp X', both the smp_cores and smp_threads variables are set to 1, which on x86 leads to CPUid-0x80000008-ecx returning 1 for the CPU count despite more CPUs are there. Docs say 'Missing values will be computed.', so my try on this is the following. Comments? Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de> --- vl.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)