qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v2] tests/postcopy: Use KVM on ppc64 only if it is K


From: Thomas Huth
Subject: [Qemu-devel] [PATCH v2] tests/postcopy: Use KVM on ppc64 only if it is KVM-HV
Date: Wed, 16 Nov 2016 11:14:06 +0100

The ppc64 postcopy test does not work with KVM-PR, and it is also
causing annoying warning messages when run on a x86 host. So let's
use KVM here only if we know that we're running with KVM-HV (which
automatically also means that we're running on a ppc64 host), and
use TCG otherwise.

Signed-off-by: Thomas Huth <address@hidden>
---
 v2:
 - Check also /dev/kvm to make sure that we're allowed to access KVM
 - Use only "accel=kvm" instead of "accel=kvm:tcg" if we feel confident
   that we're running with KVM-HV and can use it

 tests/postcopy-test.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/tests/postcopy-test.c b/tests/postcopy-test.c
index d6613c5..e4f0f3f 100644
--- a/tests/postcopy-test.c
+++ b/tests/postcopy-test.c
@@ -380,17 +380,27 @@ static void test_migrate(void)
                                   " -incoming %s",
                                   tmpfs, bootpath, uri);
     } else if (strcmp(arch, "ppc64") == 0) {
+        const char *accel = "tcg";
+
+        /*
+         * We preferably want to test with KVM, but on ppc64, the test only
+         * works with kvm-hv, not with kvm-pr, so we check that here first
+         */
+        if (access("/sys/module/kvm_hv", F_OK) == 0 &&
+            access("/dev/kvm", R_OK | W_OK) == 0) {
+            accel = "kvm";
+        }
         init_bootfile_ppc(bootpath);
-        cmd_src = g_strdup_printf("-machine accel=kvm:tcg -m 256M"
+        cmd_src = g_strdup_printf("-machine accel=%s -m 256M"
                                   " -name pcsource,debug-threads=on"
                                   " -serial file:%s/src_serial"
                                   " -drive file=%s,if=pflash,format=raw",
-                                  tmpfs, bootpath);
-        cmd_dst = g_strdup_printf("-machine accel=kvm:tcg -m 256M"
+                                  accel, tmpfs, bootpath);
+        cmd_dst = g_strdup_printf("-machine accel=%s -m 256M"
                                   " -name pcdest,debug-threads=on"
                                   " -serial file:%s/dest_serial"
                                   " -incoming %s",
-                                  tmpfs, uri);
+                                  accel, tmpfs, uri);
     } else {
         g_assert_not_reached();
     }
-- 
1.8.3.1




reply via email to

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