From: Lukas Straub <lukasstraub2@web.de>
To: Peter Xu <peterx@redhat.com>
Cc: qemu-devel <qemu-devel@nongnu.org>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Juan Quintela <quintela@redhat.com>,
Thomas Huth <thuth@redhat.com>,
Laurent Vivier <lvivier@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH RESEND 1/2] qtest/migration-test.c: Add test with compress enabled
Date: Tue, 4 Apr 2023 07:40:20 +0000 [thread overview]
Message-ID: <20230404074020.3a6d1e5a@gecko.fritz.box> (raw)
In-Reply-To: <ZCtCgDV9DI5BlcQH@x1n>
[-- Attachment #1: Type: text/plain, Size: 3587 bytes --]
On Mon, 3 Apr 2023 17:17:52 -0400
Peter Xu <peterx@redhat.com> wrote:
> On Sun, Apr 02, 2023 at 05:47:45PM +0000, Lukas Straub wrote:
> > There has never been a test for migration with compress enabled.
> >
> > Add a suitable test, testing with compress-wait-thread = false
> > too.
> >
> > iterations = 2 is intentional, so it also tests that no invalid
> > thread state is left over from the previous iteration.
> >
> > Signed-off-by: Lukas Straub <lukasstraub2@web.de>
>
> Overall looks good to me:
>
> Reviewed-by: Peter Xu <peterx@redhat.com>
>
> A few nitpicks below.
>
> > ---
> > tests/qtest/migration-test.c | 67 ++++++++++++++++++++++++++++++++++++
> > 1 file changed, 67 insertions(+)
> >
> > diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> > index 3b615b0da9..dbcab2e8ae 100644
> > --- a/tests/qtest/migration-test.c
> > +++ b/tests/qtest/migration-test.c
> >
> > [...]
> >
> > static void migrate_ensure_non_converge(QTestState *who)
> > {
> > /* Can't converge with 1ms downtime + 3 mbs bandwidth limit */
> > @@ -1524,6 +1559,36 @@ static void test_precopy_unix_xbzrle(void)
> > test_precopy_common(&args);
> > }
> >
> > +static void *
> > +test_migrate_compress_start(QTestState *from,
> > + QTestState *to)
> > +{
> > + migrate_set_parameter_int(from, "compress-level", 9);
> > + migrate_set_parameter_int(from, "compress-threads", 1);
> > + migrate_set_parameter_bool(from, "compress-wait-thread", false);
>
> May worth trying both true/false (can split into two tests)?
Maybe, I just wasn't sure with your CI resources being tight, whether
I should add more tests. I think this test gives the most "bang for the
buck".
> > + migrate_set_parameter_int(to, "decompress-threads", 1);
>
> Why not set both compress/decompress threads to something >1 to check arace
> conditions between the threads?
I just wanted to make sure that it won't get too fast so it really
sends some pages uncompressed. But I guess this can be fixed when
splitting it into 2 tests.
> > +
> > + migrate_set_capability(from, "compress", true);
> > + migrate_set_capability(to, "compress", true);
> > +
> > + return NULL;
> > +}
> > +
> > +static void test_precopy_unix_compress(void)
> > +{
> > + g_autofree char *uri = g_strdup_printf("unix:%s/migsocket", tmpfs);
> > + MigrateCommon args = {
> > + .connect_uri = uri,
> > + .listen_uri = uri,
> > +
>
> Empty line.
>
> > + .start_hook = test_migrate_compress_start,
> > +
>
> Empty line.
>
> > + .iterations = 2,
>
> Maybe move the comment in commit message over here?
Good idea, will fix in the next version.
Regards,
Lukas Straub
> > + };
> > +
> > + test_precopy_common(&args);
> > +}
> > +
> > static void test_precopy_tcp_plain(void)
> > {
> > MigrateCommon args = {
> > @@ -2515,6 +2580,8 @@ int main(int argc, char **argv)
> > 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);
> > + qtest_add_func("/migration/precopy/unix/compress",
> > + test_precopy_unix_compress);
> > #ifdef CONFIG_GNUTLS
> > qtest_add_func("/migration/precopy/unix/tls/psk",
> > test_precopy_unix_tls_psk);
> > --
> > 2.30.2
> >
>
>
>
--
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
prev parent reply other threads:[~2023-04-04 7:41 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-02 17:47 [PATCH RESEND 1/2] qtest/migration-test.c: Add test with compress enabled Lukas Straub
2023-04-02 17:48 ` [PATCH RESEND 2/2] migration/ram.c: Fix migration " Lukas Straub
2023-04-03 21:19 ` Peter Xu
2023-04-03 21:17 ` [PATCH RESEND 1/2] qtest/migration-test.c: Add test " Peter Xu
2023-04-04 7:40 ` Lukas Straub [this message]
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=20230404074020.3a6d1e5a@gecko.fritz.box \
--to=lukasstraub2@web.de \
--cc=dgilbert@redhat.com \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=thuth@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.