]> code.ossystems Code Review - openembedded-core.git/commitdiff
qemu: use 4 cores in qemu guests
authorAlexander Kanavin <alex.kanavin@gmail.com>
Fri, 7 May 2021 20:16:07 +0000 (22:16 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 13 May 2021 17:09:03 +0000 (18:09 +0100)
Each of the cores is mapped to a thread on the host, this
should speed up things inside qemu which can take advantage of that.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/qemuboot.bbclass
scripts/runqemu

index 1f8012edc1d7b2b88d24a3aeef779f414f180d93..0fdd10099ce492f216359ba4d267d03f7b1cbc4a 100644 (file)
@@ -19,6 +19,9 @@
 # QB_CPU_KVM: the similar to QB_CPU, but used when kvm, e.g., '-cpu kvm64',
 #             set it when support kvm.
 #
+# QB_SMP: amount of CPU cores inside qemu guest, each mapped to a thread on the host,
+#             e.g. "-smp 8".
+#
 # QB_KERNEL_CMDLINE_APPEND: options to append to kernel's -append
 #                           option, e.g., "console=ttyS0 console=tty"
 #
@@ -80,6 +83,7 @@
 # See "runqemu help" for more info
 
 QB_MEM ?= "-m 256"
+QB_SMP ?= "-smp 4"
 QB_SERIAL_OPT ?= "-serial mon:stdio -serial null"
 QB_DEFAULT_KERNEL ?= "${KERNEL_IMAGETYPE}"
 QB_DEFAULT_FSTYPE ?= "ext4"
index edd17d09c4ac276886831ea3107a7e21330dea42..e2dc529baaf161ed3abdf845fe0a734cf1655dc1 100755 (executable)
@@ -540,13 +540,13 @@ class BaseConfig(object):
     def check_kvm(self):
         """Check kvm and kvm-host"""
         if not (self.kvm_enabled or self.vhost_enabled):
-            self.qemu_opt_script += ' %s %s' % (self.get('QB_MACHINE'), self.get('QB_CPU'))
+            self.qemu_opt_script += ' %s %s %s' % (self.get('QB_MACHINE'), self.get('QB_CPU'), self.get('QB_SMP'))
             return
 
         if not self.get('QB_CPU_KVM'):
             raise RunQemuError("QB_CPU_KVM is NULL, this board doesn't support kvm")
 
-        self.qemu_opt_script += ' %s %s' % (self.get('QB_MACHINE'), self.get('QB_CPU_KVM'))
+        self.qemu_opt_script += ' %s %s %s' % (self.get('QB_MACHINE'), self.get('QB_CPU_KVM'), self.get('QB_SMP'))
         yocto_kvm_wiki = "https://wiki.yoctoproject.org/wiki/How_to_enable_KVM_for_Poky_qemu"
         yocto_paravirt_kvm_wiki = "https://wiki.yoctoproject.org/wiki/Running_an_x86_Yocto_Linux_image_under_QEMU_KVM"
         dev_kvm = '/dev/kvm'