Patchwork smp-parse: smp-opt-cores for simple -smp X

login
register
mail settings
Submitter Adam Lackorzynski
Date July 8, 2011, 7:59 p.m.
Message ID <20110708195950.GA23040@os.inf.tu-dresden.de>
Download mbox | patch
Permalink /patch/103934/
State New
Headers show

Comments

Adam Lackorzynski - July 8, 2011, 7:59 p.m.
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(-)

Patch

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;