From: Leonardo Bras Soares Passos <leobras@redhat.com>
To: Peter Xu <peterx@redhat.com>
Cc: qemu-devel <qemu-devel@nongnu.org>,
"Jason Wang" <jasowang@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
"Juan Quintela" <quintela@redhat.com>
Subject: Re: [PATCH v3 3/3] multifd: Send using asynchronous write on nocomp to send RAM pages.
Date: Wed, 29 Sep 2021 16:46:33 -0300 [thread overview]
Message-ID: <CAJ6HWG4sfD-1Rrq8TMki0matCXyQFqPOHqFbUhAS-N806HW6gA@mail.gmail.com> (raw)
In-Reply-To: <YVOby/PvqPuXRqSH@t490s>
On Tue, Sep 28, 2021 at 7:49 PM Peter Xu <peterx@redhat.com> wrote:
>
> On Fri, Sep 24, 2021 at 06:43:49PM +0100, Daniel P. Berrangé wrote:
> > > @@ -546,6 +546,7 @@ void multifd_save_cleanup(void)
> > > MultiFDSendParams *p = &multifd_send_state->params[i];
> > > Error *local_err = NULL;
> > >
> > > + qio_channel_async_flush(p->c, NULL);
> > > socket_send_channel_destroy(p->c);
> > > p->c = NULL;
> > > qemu_mutex_destroy(&p->mutex);
> >
> > This isn't reliable beucase qio_channel_async_flush will return early
> > even if not everything is flushed.
>
> Right, though I think the problem is in patch 2 where we should make sure
> flush() will only return if all data sent.
>
> And at the meantime we may also want to move it to before we send the devices
> states for both pre/post copy. multifd_save_cleanup() is called only until
> migration completed and we're cleaning stuffs, I'm afraid it's too late, so
> potentially the device states can arrive and dest vm running without the latest
> src VM memories.
Thanks for that Peter!
I had some trouble sorting out when to flush, and I think I still missed this.
I will have thet improved for v3.
>
> --
> Peter Xu
>
Best regards,
Leonardo
next prev parent reply other threads:[~2021-09-29 19:59 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-22 22:24 [PATCH v3 0/3] QIOChannel async_write & async_flush + MSG_ZEROCOPY + multifd Leonardo Bras
2021-09-22 22:24 ` [PATCH v3 1/3] QIOChannel: Add io_async_writev & io_async_flush callbacks Leonardo Bras
2021-09-24 17:16 ` Daniel P. Berrangé
2021-09-28 21:52 ` Peter Xu
2021-09-29 19:06 ` Leonardo Bras Soares Passos
2021-09-30 8:34 ` Daniel P. Berrangé
2021-09-29 19:03 ` Leonardo Bras Soares Passos
2021-09-22 22:24 ` [PATCH v3 2/3] QIOChannelSocket: Implement io_async_write & io_async_flush Leonardo Bras
2021-09-24 17:38 ` Daniel P. Berrangé
2021-09-29 19:32 ` Leonardo Bras Soares Passos
2021-09-30 8:39 ` Daniel P. Berrangé
2021-09-28 22:45 ` Peter Xu
2021-09-29 19:36 ` Leonardo Bras Soares Passos
2021-09-29 19:58 ` Peter Xu
2021-09-22 22:24 ` [PATCH v3 3/3] multifd: Send using asynchronous write on nocomp to send RAM pages Leonardo Bras
2021-09-24 17:43 ` Daniel P. Berrangé
2021-09-28 22:48 ` Peter Xu
2021-09-29 19:46 ` Leonardo Bras Soares Passos [this message]
2021-09-29 19:44 ` Leonardo Bras Soares Passos
2021-09-28 22:50 ` [PATCH v3 0/3] QIOChannel async_write & async_flush + MSG_ZEROCOPY + multifd Peter Xu
2021-09-29 18:34 ` Leonardo Bras Soares Passos
2021-09-29 19:22 ` Peter Xu
2021-09-29 19:48 ` Leonardo Bras Soares Passos
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=CAJ6HWG4sfD-1Rrq8TMki0matCXyQFqPOHqFbUhAS-N806HW6gA@mail.gmail.com \
--to=leobras@redhat.com \
--cc=berrange@redhat.com \
--cc=dgilbert@redhat.com \
--cc=jasowang@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).