[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v2 6/6] tests/migration: Only run auto_converge in slow mode
From: |
Zhang, Chen |
Subject: |
RE: [PATCH v2 6/6] tests/migration: Only run auto_converge in slow mode |
Date: |
Sun, 23 Apr 2023 02:41:35 +0000 |
> -----Original Message-----
> From: Daniel P. Berrangé <berrange@redhat.com>
> Sent: Saturday, April 22, 2023 1:14 AM
> To: qemu-devel@nongnu.org
> Cc: qemu-block@nongnu.org; Paolo Bonzini <pbonzini@redhat.com>;
> Thomas Huth <thuth@redhat.com>; John Snow <jsnow@redhat.com>; Li
> Zhijian <lizhijian@fujitsu.com>; Juan Quintela <quintela@redhat.com>;
> Stefan Hajnoczi <stefanha@redhat.com>; Zhang, Chen
> <chen.zhang@intel.com>; Laurent Vivier <lvivier@redhat.com>
> Subject: [PATCH v2 6/6] tests/migration: Only run auto_converge in slow
> mode
>
What kind of scenario will the qtest open this g_test_init() -m slow to trigger
the slow mode?
Thanks
Chen
> From: Juan Quintela <quintela@redhat.com>
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
> tests/qtest/migration-test.c | 23 +++++++++++++++++++++--
> 1 file changed, 21 insertions(+), 2 deletions(-)
>
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c index
> 63bd8a1893..9ed178aa03 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -1877,6 +1877,21 @@ static void test_validate_uuid_dst_not_set(void)
> do_test_validate_uuid(&args, false); }
>
> +/*
> + * The way auto_converge works, we need to do too many passes to
> + * run this test. Auto_converge logic is only run once every
> + * three iterations, so:
> + *
> + * - 3 iterations without auto_converge enabled
> + * - 3 iterations with pct = 5
> + * - 3 iterations with pct = 30
> + * - 3 iterations with pct = 55
> + * - 3 iterations with pct = 80
> + * - 3 iterations with pct = 95 (max(95, 80 + 25))
> + *
> + * To make things even worse, we need to run the initial stage at
> + * 3MB/s so we enter autoconverge even when host is (over)loaded.
> + */
> static void test_migrate_auto_converge(void) {
> g_autofree char *uri = g_strdup_printf("unix:%s/migsocket", tmpfs); @@ -
> 2660,8 +2675,12 @@ int main(int argc, char **argv)
> test_validate_uuid_src_not_set);
> qtest_add_func("/migration/validate_uuid_dst_not_set",
> test_validate_uuid_dst_not_set);
> -
> - qtest_add_func("/migration/auto_converge",
> test_migrate_auto_converge);
> + /*
> + * See explanation why this test is slow on function definition
> + */
> + if (g_test_slow()) {
> + qtest_add_func("/migration/auto_converge",
> test_migrate_auto_converge);
> + }
> qtest_add_func("/migration/multifd/tcp/plain/none",
> test_multifd_tcp_none);
> /*
> --
> 2.40.0
- Re: [PATCH v2 1/6] tests/qtest: replace qmp_discard_response with qtest_qmp_assert_success, (continued)
[PATCH v2 5/6] tests/qtest: massively speed up migration-tet, Daniel P . Berrangé, 2023/04/21
[PATCH v2 6/6] tests/migration: Only run auto_converge in slow mode, Daniel P . Berrangé, 2023/04/21
- RE: [PATCH v2 6/6] tests/migration: Only run auto_converge in slow mode,
Zhang, Chen <=
RE: [PATCH v2 6/6] tests/migration: Only run auto_converge in slow mode, Zhang, Chen, 2023/04/24
[PATCH v2 4/6] tests/qtest: make more migration pre-copy scenarios run non-live, Daniel P . Berrangé, 2023/04/21