From: Bryan Zhang <bryan.zhang@bytedance.com>
Adds an integration test for 'qatzip'.
Signed-off-by: Bryan Zhang <bryan.zhang@bytedance.com>
Signed-off-by: Hao Xiang <hao.xiang@linux.dev>
Signed-off-by: Yichen Wang <yichen.wang@bytedance.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Yichen Wang <yichen.wang@bytedance.com>
---
tests/qtest/migration-test.c | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index 70b606b888..b796dd21cb 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -32,6 +32,10 @@
# endif /* CONFIG_TASN1 */
#endif /* CONFIG_GNUTLS */
+#ifdef CONFIG_QATZIP
+#include <qatzip.h>
+#endif /* CONFIG_QATZIP */
+
/* For dirty ring test; so far only x86_64 is supported */
#if defined(__linux__) && defined(HOST_X86_64)
#include "linux/kvm.h"
@@ -2992,6 +2996,22 @@ test_migrate_precopy_tcp_multifd_zstd_start(QTestState *from,
}
#endif /* CONFIG_ZSTD */
+#ifdef CONFIG_QATZIP
+static void *
+test_migrate_precopy_tcp_multifd_qatzip_start(QTestState *from,
+ QTestState *to)
+{
+ migrate_set_parameter_int(from, "multifd-qatzip-level", 2);
+ migrate_set_parameter_int(to, "multifd-qatzip-level", 2);
+
+ /* SW fallback is disabled by default, so enable it for testing. */
+ migrate_set_parameter_bool(from, "multifd-qatzip-sw-fallback", true);
+ migrate_set_parameter_bool(to, "multifd-qatzip-sw-fallback", true);
+
+ return test_migrate_precopy_tcp_multifd_start_common(from, to, "qatzip");
+}
+#endif
+
#ifdef CONFIG_QPL
static void *
test_migrate_precopy_tcp_multifd_qpl_start(QTestState *from,
@@ -3089,6 +3109,17 @@ static void test_multifd_tcp_zstd(void)
}
#endif
+#ifdef CONFIG_QATZIP
+static void test_multifd_tcp_qatzip(void)
+{
+ MigrateCommon args = {
+ .listen_uri = "defer",
+ .start_hook = test_migrate_precopy_tcp_multifd_qatzip_start,
+ };
+ test_precopy_common(&args);
+}
+#endif
+
#ifdef CONFIG_QPL
static void test_multifd_tcp_qpl(void)
{
@@ -3992,6 +4023,10 @@ int main(int argc, char **argv)
migration_test_add("/migration/multifd/tcp/plain/zstd",
test_multifd_tcp_zstd);
#endif
+#ifdef CONFIG_QATZIP
+ migration_test_add("/migration/multifd/tcp/plain/qatzip",
+ test_multifd_tcp_qatzip);
+#endif
#ifdef CONFIG_QPL
migration_test_add("/migration/multifd/tcp/plain/qpl",
test_multifd_tcp_qpl);
--
Yichen Wang
On Wed, Jul 10, 2024 at 07:52:29PM -0700, Yichen Wang wrote:
> From: Bryan Zhang <bryan.zhang@bytedance.com>
>
> Adds an integration test for 'qatzip'.
>
> Signed-off-by: Bryan Zhang <bryan.zhang@bytedance.com>
> Signed-off-by: Hao Xiang <hao.xiang@linux.dev>
> Signed-off-by: Yichen Wang <yichen.wang@bytedance.com>
> Reviewed-by: Fabiano Rosas <farosas@suse.de>
> Signed-off-by: Yichen Wang <yichen.wang@bytedance.com>
> ---
> tests/qtest/migration-test.c | 35 +++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> index 70b606b888..b796dd21cb 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -32,6 +32,10 @@
> # endif /* CONFIG_TASN1 */
> #endif /* CONFIG_GNUTLS */
>
> +#ifdef CONFIG_QATZIP
> +#include <qatzip.h>
> +#endif /* CONFIG_QATZIP */
> +
> /* For dirty ring test; so far only x86_64 is supported */
> #if defined(__linux__) && defined(HOST_X86_64)
> #include "linux/kvm.h"
> @@ -2992,6 +2996,22 @@ test_migrate_precopy_tcp_multifd_zstd_start(QTestState *from,
> }
> #endif /* CONFIG_ZSTD */
>
> +#ifdef CONFIG_QATZIP
> +static void *
> +test_migrate_precopy_tcp_multifd_qatzip_start(QTestState *from,
> + QTestState *to)
> +{
> + migrate_set_parameter_int(from, "multifd-qatzip-level", 2);
> + migrate_set_parameter_int(to, "multifd-qatzip-level", 2);
> +
> + /* SW fallback is disabled by default, so enable it for testing. */
> + migrate_set_parameter_bool(from, "multifd-qatzip-sw-fallback", true);
> + migrate_set_parameter_bool(to, "multifd-qatzip-sw-fallback", true);
Shouldn't this already crash when without the parameter?
> +
> + return test_migrate_precopy_tcp_multifd_start_common(from, to, "qatzip");
> +}
> +#endif
> +
> #ifdef CONFIG_QPL
> static void *
> test_migrate_precopy_tcp_multifd_qpl_start(QTestState *from,
> @@ -3089,6 +3109,17 @@ static void test_multifd_tcp_zstd(void)
> }
> #endif
>
> +#ifdef CONFIG_QATZIP
> +static void test_multifd_tcp_qatzip(void)
> +{
> + MigrateCommon args = {
> + .listen_uri = "defer",
> + .start_hook = test_migrate_precopy_tcp_multifd_qatzip_start,
> + };
> + test_precopy_common(&args);
> +}
> +#endif
> +
> #ifdef CONFIG_QPL
> static void test_multifd_tcp_qpl(void)
> {
> @@ -3992,6 +4023,10 @@ int main(int argc, char **argv)
> migration_test_add("/migration/multifd/tcp/plain/zstd",
> test_multifd_tcp_zstd);
> #endif
> +#ifdef CONFIG_QATZIP
> + migration_test_add("/migration/multifd/tcp/plain/qatzip",
> + test_multifd_tcp_qatzip);
> +#endif
> #ifdef CONFIG_QPL
> migration_test_add("/migration/multifd/tcp/plain/qpl",
> test_multifd_tcp_qpl);
> --
> Yichen Wang
>
--
Peter Xu
On Thu, Jul 11, 2024 at 7:23 AM Peter Xu <peterx@redhat.com> wrote:
>
> On Wed, Jul 10, 2024 at 07:52:29PM -0700, Yichen Wang wrote:
> > From: Bryan Zhang <bryan.zhang@bytedance.com>
> >
> > Adds an integration test for 'qatzip'.
> >
> > Signed-off-by: Bryan Zhang <bryan.zhang@bytedance.com>
> > Signed-off-by: Hao Xiang <hao.xiang@linux.dev>
> > Signed-off-by: Yichen Wang <yichen.wang@bytedance.com>
> > Reviewed-by: Fabiano Rosas <farosas@suse.de>
> > Signed-off-by: Yichen Wang <yichen.wang@bytedance.com>
> > ---
> > tests/qtest/migration-test.c | 35 +++++++++++++++++++++++++++++++++++
> > 1 file changed, 35 insertions(+)
> >
> > diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> > index 70b606b888..b796dd21cb 100644
> > --- a/tests/qtest/migration-test.c
> > +++ b/tests/qtest/migration-test.c
> > @@ -32,6 +32,10 @@
> > # endif /* CONFIG_TASN1 */
> > #endif /* CONFIG_GNUTLS */
> >
> > +#ifdef CONFIG_QATZIP
> > +#include <qatzip.h>
> > +#endif /* CONFIG_QATZIP */
> > +
> > /* For dirty ring test; so far only x86_64 is supported */
> > #if defined(__linux__) && defined(HOST_X86_64)
> > #include "linux/kvm.h"
> > @@ -2992,6 +2996,22 @@ test_migrate_precopy_tcp_multifd_zstd_start(QTestState *from,
> > }
> > #endif /* CONFIG_ZSTD */
> >
> > +#ifdef CONFIG_QATZIP
> > +static void *
> > +test_migrate_precopy_tcp_multifd_qatzip_start(QTestState *from,
> > + QTestState *to)
> > +{
> > + migrate_set_parameter_int(from, "multifd-qatzip-level", 2);
> > + migrate_set_parameter_int(to, "multifd-qatzip-level", 2);
> > +
> > + /* SW fallback is disabled by default, so enable it for testing. */
> > + migrate_set_parameter_bool(from, "multifd-qatzip-sw-fallback", true);
> > + migrate_set_parameter_bool(to, "multifd-qatzip-sw-fallback", true);
>
> Shouldn't this already crash when without the parameter?
Ah, my bad. I tested the features manually with two machines, and
didn't run this. I will fix it in my next version.
>
> > +
> > + return test_migrate_precopy_tcp_multifd_start_common(from, to, "qatzip");
> > +}
> > +#endif
> > +
> > #ifdef CONFIG_QPL
> > static void *
> > test_migrate_precopy_tcp_multifd_qpl_start(QTestState *from,
> > @@ -3089,6 +3109,17 @@ static void test_multifd_tcp_zstd(void)
> > }
> > #endif
> >
> > +#ifdef CONFIG_QATZIP
> > +static void test_multifd_tcp_qatzip(void)
> > +{
> > + MigrateCommon args = {
> > + .listen_uri = "defer",
> > + .start_hook = test_migrate_precopy_tcp_multifd_qatzip_start,
> > + };
> > + test_precopy_common(&args);
> > +}
> > +#endif
> > +
> > #ifdef CONFIG_QPL
> > static void test_multifd_tcp_qpl(void)
> > {
> > @@ -3992,6 +4023,10 @@ int main(int argc, char **argv)
> > migration_test_add("/migration/multifd/tcp/plain/zstd",
> > test_multifd_tcp_zstd);
> > #endif
> > +#ifdef CONFIG_QATZIP
> > + migration_test_add("/migration/multifd/tcp/plain/qatzip",
> > + test_multifd_tcp_qatzip);
> > +#endif
> > #ifdef CONFIG_QPL
> > migration_test_add("/migration/multifd/tcp/plain/qpl",
> > test_multifd_tcp_qpl);
> > --
> > Yichen Wang
> >
>
> --
> Peter Xu
>
© 2016 - 2025 Red Hat, Inc.