[PULL,13/41] tests/vm: allow us to take advantage of MTTCG

Message ID 20200707070858.6622-14-alex.bennee@linaro.org
State Accepted
Commit b09539444a4b319b02043638682867ad02b1f47e
Headers show
Series
  • testing updates (vm, gitlab, misc build fixes)
Related show

Commit Message

Alex Bennée July 7, 2020, 7:08 a.m.
We currently limit TCG guests to -smp 1 but now we have added some
aarch64 guests we can do better when running on x86_64 hardware.
Raise the limit for TCG guests when it is safe to do so.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

Reviewed-by: Robert Foley <robert.foley@linaro.org>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


Message-Id: <20200701135652.1366-16-alex.bennee@linaro.org>

-- 
2.20.1

Patch

diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index 890bbc5549a6..21f46d1957d9 100644
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -551,8 +551,15 @@  def parse_config(config, args):
 def parse_args(vmcls):
 
     def get_default_jobs():
-        if kvm_available(vmcls.arch):
-            return multiprocessing.cpu_count() // 2
+        if multiprocessing.cpu_count() > 1:
+            if kvm_available(vmcls.arch):
+                return multiprocessing.cpu_count() // 2
+            elif os.uname().machine == "x86_64" and \
+                 vmcls.arch in ["aarch64", "x86_64", "i386"]:
+                # MTTCG is available on these arches and we can allow
+                # more cores. but only up to a reasonable limit. User
+                # can always override these limits with --jobs.
+                return min(multiprocessing.cpu_count() // 2, 8)
         else:
             return 1