From: Fabiano Rosas <farosas@suse.de>
To: Hao Xiang <hao.xiang@bytedance.com>,
quintela@redhat.com, peterx@redhat.com,
marcandre.lureau@redhat.com, bryan.zhang@bytedance.com,
qemu-devel@nongnu.org
Cc: Hao Xiang <hao.xiang@bytedance.com>
Subject: Re: [PATCH 16/16] migration/multifd: Add integration tests for multifd with Intel DSA offloading.
Date: Mon, 30 Oct 2023 12:26:25 -0300 [thread overview]
Message-ID: <877cn4nnby.fsf@suse.de> (raw)
In-Reply-To: <20231025193822.2813204-17-hao.xiang@bytedance.com>
Hao Xiang <hao.xiang@bytedance.com> writes:
> * Add test case to start and complete multifd live migration with DSA
> offloading enabled.
> * Add test case to start and cancel multifd live migration with DSA
> offloading enabled.
>
> Signed-off-by: Bryan Zhang <bryan.zhang@bytedance.com>
> Signed-off-by: Hao Xiang <hao.xiang@bytedance.com>
> ---
> tests/qtest/migration-test.c | 66 +++++++++++++++++++++++++++++++++++-
> 1 file changed, 65 insertions(+), 1 deletion(-)
>
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> index 8eb2053dbb..f22d39e72e 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -631,6 +631,12 @@ typedef struct {
> const char *opts_target;
> } MigrateStart;
>
> +/*
> + * It requires separate steps to configure and enable DSA device.
> + * This test assumes that the configuration is done already.
> + */
> +static const char* dsa_dev_path = "/dev/dsa/wq4.0";
Hmm, this is tricky. No developer is going to have this setup neither
will our CI. So it might be that this test just sits there and never
gets executed. I have to think more about this.
Nonetheless, you should check that the file exists and skip the test if
it doesn't.
> +
> /*
> * A hook that runs after the src and dst QEMUs have been
> * created, but before the migration is started. This can
> @@ -2431,7 +2437,7 @@ static void test_multifd_tcp_tls_x509_reject_anon_client(void)
> *
> * And see that it works
> */
> -static void test_multifd_tcp_cancel(void)
> +static void test_multifd_tcp_cancel_common(bool use_dsa)
> {
> MigrateStart args = {
> .hide_stderr = true,
> @@ -2452,6 +2458,10 @@ static void test_multifd_tcp_cancel(void)
> migrate_set_capability(from, "multifd", true);
> migrate_set_capability(to, "multifd", true);
>
> + if (use_dsa) {
> + migrate_set_parameter_str(from, "multifd-dsa-accel", dsa_dev_path);
> + }
> +
> /* Start incoming migration from the 1st socket */
> migrate_incoming_qmp(to, "tcp:127.0.0.1:0", "{}");
>
> @@ -2508,6 +2518,48 @@ static void test_multifd_tcp_cancel(void)
> test_migrate_end(from, to2, true);
> }
>
> +/*
> + * This test does:
> + * source target
> + * migrate_incoming
> + * migrate
> + * migrate_cancel
> + * launch another target
> + * migrate
> + *
> + * And see that it works
> + */
> +static void test_multifd_tcp_cancel(void)
> +{
> + test_multifd_tcp_cancel_common(false);
> +}
> +
> +#ifdef CONFIG_DSA_OPT
> +
> +static void *test_migrate_precopy_tcp_multifd_start_dsa(QTestState *from,
> + QTestState *to)
> +{
> + migrate_set_parameter_str(from, "multifd-dsa-accel", dsa_dev_path);
> + return test_migrate_precopy_tcp_multifd_start_common(from, to, "none");
> +}
> +
> +static void test_multifd_tcp_none_dsa(void)
> +{
> + MigrateCommon args = {
> + .listen_uri = "defer",
> + .start_hook = test_migrate_precopy_tcp_multifd_start_dsa,
> + };
> +
> + test_precopy_common(&args);
> +}
> +
> +static void test_multifd_tcp_cancel_dsa(void)
> +{
> + test_multifd_tcp_cancel_common(true);
> +}
> +
> +#endif
> +
> static void calc_dirty_rate(QTestState *who, uint64_t calc_time)
> {
> qtest_qmp_assert_success(who,
> @@ -2921,6 +2973,18 @@ int main(int argc, char **argv)
> }
> qtest_add_func("/migration/multifd/tcp/plain/none",
> test_multifd_tcp_none);
> +
> +#ifdef CONFIG_DSA_OPT
> + if (g_str_equal(arch, "x86_64")) {
> + qtest_add_func("/migration/multifd/tcp/plain/none/dsa",
> + test_multifd_tcp_none_dsa);
> + }
> + if (getenv("QEMU_TEST_FLAKY_TESTS")) {
It's safe to not use FLAKY here. This test already requires special
setup.
We have also fixed the cancel test a while back. We will remove the
flaky tag from it soon.
next prev parent reply other threads:[~2023-10-30 15:27 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-25 19:38 [PATCH 00/16] Use Intel DSA accelerator to offload zero page checking in multifd live migration Hao Xiang
2023-10-25 19:38 ` [PATCH 01/16] Cherry pick a set of patches that enables multifd zero page feature Hao Xiang
2023-10-27 12:30 ` Fabiano Rosas
2023-10-27 13:21 ` Peter Maydell
2023-10-28 1:13 ` [External] " Hao Xiang
2023-10-28 1:06 ` Hao Xiang
2023-10-30 13:58 ` Fabiano Rosas
2023-11-06 18:53 ` Hao Xiang
2023-10-25 19:38 ` [PATCH 02/16] meson: Introduce new instruction set enqcmd to the build system Hao Xiang
2023-10-25 19:38 ` [PATCH 03/16] util/dsa: Add dependency idxd Hao Xiang
2023-10-25 19:38 ` [PATCH 04/16] util/dsa: Implement DSA device start and stop logic Hao Xiang
2023-10-25 19:38 ` [PATCH 05/16] util/dsa: Implement DSA task enqueue and dequeue Hao Xiang
2023-10-25 19:38 ` [PATCH 06/16] util/dsa: Implement DSA task asynchronous completion thread model Hao Xiang
2023-10-25 19:38 ` [PATCH 07/16] util/dsa: Implement zero page checking in DSA task Hao Xiang
2023-10-25 19:38 ` [PATCH 08/16] util/dsa: Implement DSA task asynchronous submission and wait for completion Hao Xiang
2023-10-25 19:38 ` [PATCH 09/16] migration/multifd: Add new migration option for multifd DSA offloading Hao Xiang
2023-10-30 14:41 ` Fabiano Rosas
2023-11-06 21:58 ` [External] " Hao Xiang
2023-10-25 19:38 ` [PATCH 10/16] migration/multifd: Enable DSA offloading in multifd sender path Hao Xiang
2023-10-30 14:37 ` Fabiano Rosas
2023-10-25 19:38 ` [PATCH 11/16] migration/multifd: Add test hook to set normal page ratio Hao Xiang
2023-10-25 19:38 ` [PATCH 12/16] migration/multifd: Enable set normal page ratio test hook in multifd Hao Xiang
2023-10-25 19:38 ` [PATCH 13/16] migration/multifd: Add migration option set packet size Hao Xiang
2023-10-30 15:03 ` Fabiano Rosas
2023-10-25 19:38 ` [PATCH 14/16] migration/multifd: Enable set packet size migration option Hao Xiang
2023-10-25 19:38 ` [PATCH 15/16] util/dsa: Add unit test coverage for Intel DSA task submission and completion Hao Xiang
2023-10-25 19:38 ` [PATCH 16/16] migration/multifd: Add integration tests for multifd with Intel DSA offloading Hao Xiang
2023-10-30 15:26 ` Fabiano Rosas [this message]
2023-10-30 15:26 ` [PATCH 00/16] Use Intel DSA accelerator to offload zero page checking in multifd live migration Fabiano Rosas
2023-10-31 1:02 ` [External] " Hao Xiang
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=877cn4nnby.fsf@suse.de \
--to=farosas@suse.de \
--cc=bryan.zhang@bytedance.com \
--cc=hao.xiang@bytedance.com \
--cc=marcandre.lureau@redhat.com \
--cc=peterx@redhat.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).