qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 2/3] tests/vm: Do not abuse parallelism when KVM


From: Philippe Mathieu-Daudé
Subject: [Qemu-devel] [PATCH v2 2/3] tests/vm: Do not abuse parallelism when KVM is not available
Date: Mon, 1 Oct 2018 01:23:11 +0200

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
v2: Add get_default_jobs (Fam suggestion)
---
 tests/vm/basevm.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index 5a5fa09752..fc203e9f53 100755
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -202,6 +202,13 @@ class BaseVM(object):
         return self._guest.qmp(*args, **kwargs)
 
 def parse_args(vm_name):
+
+    def get_default_jobs():
+        if kvm_available():
+            return multiprocessing.cpu_count() / 2
+        else:
+            return 1
+
     parser = optparse.OptionParser(
         description="VM test utility.  Exit codes: "
                     "0 = success, "
@@ -214,7 +221,7 @@ def parse_args(vm_name):
                       help="image file name")
     parser.add_option("--force", "-f", action="store_true",
                       help="force build image even if image exists")
-    parser.add_option("--jobs", type=int, default=multiprocessing.cpu_count() 
/ 2,
+    parser.add_option("--jobs", type=int, default=get_default_jobs(),
                       help="number of virtual CPUs")
     parser.add_option("--verbose", "-V", action="store_true",
                       help="Pass V=1 to builds within the guest")
@@ -237,7 +244,7 @@ def main(vmcls):
             return 1
         logging.basicConfig(level=(logging.DEBUG if args.debug
                                    else logging.WARN))
-        vm = vmcls(debug=args.debug, vcpus=args.jobs)
+        vm = vmcls(debug=args.debug, vcpus=args.jobs if kvm_available() else 0)
         if args.build_image:
             if os.path.exists(args.image) and not args.force:
                 sys.stderr.writelines(["Image file exists: %s\n" % args.image,
@@ -248,7 +255,7 @@ def main(vmcls):
             vm.add_source_dir(args.build_qemu)
             cmd = [vm.BUILD_SCRIPT.format(
                    configure_opts = " ".join(argv),
-                   jobs=args.jobs,
+                   jobs=args.jobs if kvm_available() else 1,
                    verbose = "V=1" if args.verbose else "")]
         else:
             cmd = argv
-- 
2.19.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]