Re: [Qemu-devel] [PATCH v2 2/3] tests/vm: Do not abuse parallelism when KVM is not available
On Thu, Oct 11, 2018 at 4:46 AM Fam Zheng wrote: > On Mon, 10/01 01:23, Philippe Mathieu-Daudé wrote: > > Signed-off-by: Philippe Mathieu-Daudé > > --- > > 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) > > What's wrong with just using args.jobs? It defaults to 1 if kvm_available() > returns false, so I don't think we need another condition here. You are right, I missed that. > > > 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, > > Again, can't we just use args.jobs? > > > verbose = "V=1" if args.verbose else "")] > > else: > > cmd = argv > > -- > > 2.19.0 > > > > Fam
Re: [Qemu-devel] [PATCH v2 2/3] tests/vm: Do not abuse parallelism when KVM is not available
On Mon, 10/01 01:23, Philippe Mathieu-Daudé wrote: > Signed-off-by: Philippe Mathieu-Daudé > --- > 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) What's wrong with just using args.jobs? It defaults to 1 if kvm_available() returns false, so I don't think we need another condition here. > 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, Again, can't we just use args.jobs? > verbose = "V=1" if args.verbose else "")] > else: > cmd = argv > -- > 2.19.0 > Fam
[Qemu-devel] [PATCH v2 2/3] tests/vm: Do not abuse parallelism when KVM is not available
Signed-off-by: Philippe Mathieu-Daudé --- 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