qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Xu <peterx@redhat.com>
To: qemu-devel@nongnu.org
Cc: peterx@redhat.com,
	Leonardo Bras Soares Passos <lsoaresp@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	Manish Mishra <manish.mishra@nutanix.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	"Daniel P . Berrange" <berrange@redhat.com>
Subject: [PATCH v6 13/13] tests: Add postcopy preempt tests
Date: Tue, 17 May 2022 15:57:30 -0400	[thread overview]
Message-ID: <20220517195730.32312-14-peterx@redhat.com> (raw)
In-Reply-To: <20220517195730.32312-1-peterx@redhat.com>

Four tests are added for preempt mode:

  - Postcopy plain
  - Postcopy recovery
  - Postcopy tls
  - Postcopy tls+recovery

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 tests/qtest/migration-test.c | 54 ++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index ba7e4a2ed2..26264c7872 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -477,6 +477,7 @@ typedef struct {
      */
     bool hide_stderr;
     bool use_shmem;
+    bool postcopy_preempt;
     /* only launch the target process */
     bool only_target;
     /* Use dirty ring if true; dirty logging otherwise */
@@ -992,6 +993,11 @@ static int migrate_postcopy_prepare(QTestState **from_ptr,
     migrate_set_capability(to, "postcopy-ram", true);
     migrate_set_capability(to, "postcopy-blocktime", true);
 
+    if (args->postcopy_preempt) {
+        migrate_set_capability(from, "postcopy-preempt", true);
+        migrate_set_capability(to, "postcopy-preempt", true);
+    }
+
     /* We want to pick a speed slow enough that the test completes
      * quickly, but that it doesn't complete precopy even on a slow
      * machine, so also set the downtime.
@@ -1058,6 +1064,25 @@ static void test_postcopy_tls_psk(void)
     test_postcopy_common(&args);
 }
 
+static void test_postcopy_preempt(void)
+{
+    MigrateStart args = {
+        .postcopy_preempt = true,
+    };
+
+    test_postcopy_common(&args);
+}
+
+static void test_postcopy_preempt_tls_psk(void)
+{
+    MigrateStart args = {
+        .postcopy_preempt = true,
+        .postcopy_tls = true,
+    };
+
+    test_postcopy_common(&args);
+}
+
 static void test_postcopy_recovery_common(MigrateStart *args)
 {
     QTestState *from, *to;
@@ -1134,6 +1159,24 @@ static void test_postcopy_recovery_tls_psk(void)
     test_postcopy_recovery_common(&args);
 }
 
+static void test_postcopy_preempt_recovery(void)
+{
+    MigrateStart args = { .postcopy_preempt = true };
+
+    test_postcopy_recovery_common(&args);
+}
+
+/* This contains preempt+recovery+tls test altogether */
+static void test_postcopy_preempt_all(void)
+{
+    MigrateStart args = {
+        .postcopy_preempt = true,
+        .postcopy_tls = true,
+    };
+
+    test_postcopy_recovery_common(&args);
+}
+
 static void test_baddest(void)
 {
     MigrateStart args = {
@@ -2190,6 +2233,17 @@ int main(int argc, char **argv)
     qtest_add_func("/migration/postcopy/recovery/tls/psk",
                    test_postcopy_recovery_tls_psk);
 #endif /* CONFIG_GNUTLS */
+
+    qtest_add_func("/migration/postcopy/preempt/plain", test_postcopy_preempt);
+    qtest_add_func("/migration/postcopy/preempt/recovery/plain",
+                   test_postcopy_preempt_recovery);
+#ifdef CONFIG_GNUTLS
+    qtest_add_func("/migration/postcopy/preempt/tls/psk",
+                   test_postcopy_preempt_tls_psk);
+    qtest_add_func("/migration/postcopy/preempt/recovery/tls/psk",
+                   test_postcopy_preempt_all);
+#endif /* CONFIG_GNUTLS */
+
     qtest_add_func("/migration/bad_dest", test_baddest);
     qtest_add_func("/migration/precopy/unix/plain", test_precopy_unix_plain);
     qtest_add_func("/migration/precopy/unix/xbzrle", test_precopy_unix_xbzrle);
-- 
2.32.0



  parent reply	other threads:[~2022-05-17 20:08 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-17 19:57 [PATCH v6 00/13] migration: Postcopy Preemption Peter Xu
2022-05-17 19:57 ` [PATCH v6 01/13] migration: Add postcopy-preempt capability Peter Xu
2022-05-17 19:57 ` [PATCH v6 02/13] migration: Postcopy preemption preparation on channel creation Peter Xu
2022-05-17 19:57 ` [PATCH v6 03/13] migration: Postcopy preemption enablement Peter Xu
2022-05-17 19:57 ` [PATCH v6 04/13] migration: Postcopy recover with preempt enabled Peter Xu
2022-05-17 19:57 ` [PATCH v6 05/13] migration: Create the postcopy preempt channel asynchronously Peter Xu
2022-05-17 19:57 ` [PATCH v6 06/13] migration: Add property x-postcopy-preempt-break-huge Peter Xu
2022-05-17 19:57 ` [PATCH v6 07/13] migration: Add helpers to detect TLS capability Peter Xu
2022-05-18  8:57   ` Daniel P. Berrangé
2022-05-18 13:04     ` Peter Xu
2022-05-17 19:57 ` [PATCH v6 08/13] migration: Export tls-[creds|hostname|authz] params to cmdline too Peter Xu
2022-05-18 14:05   ` Daniel P. Berrangé
2022-05-17 19:57 ` [PATCH v6 09/13] migration: Enable TLS for preempt channel Peter Xu
2022-05-18 14:07   ` Daniel P. Berrangé
2022-05-17 19:57 ` [PATCH v6 10/13] migration: Respect postcopy request order in preemption mode Peter Xu
2022-05-23 10:56   ` Dr. David Alan Gilbert
2022-05-23 17:18     ` manish.mishra
2022-05-24 18:42     ` Peter Xu
2022-05-17 19:57 ` [PATCH v6 11/13] tests: Add postcopy tls migration test Peter Xu
2022-05-19  9:45   ` Dr. David Alan Gilbert
2022-05-19 10:11   ` Daniel P. Berrangé
2022-05-24 21:06     ` Peter Xu
2022-05-17 19:57 ` [PATCH v6 12/13] tests: Add postcopy tls recovery " Peter Xu
2022-05-19  9:34   ` Dr. David Alan Gilbert
2022-05-17 19:57 ` Peter Xu [this message]
2022-05-19  8:58   ` [PATCH v6 13/13] tests: Add postcopy preempt tests Dr. David Alan Gilbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220517195730.32312-14-peterx@redhat.com \
    --to=peterx@redhat.com \
    --cc=berrange@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=lsoaresp@redhat.com \
    --cc=manish.mishra@nutanix.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).