From: Peter Xu <peterx@redhat.com>
To: Leonardo Bras <leobras@redhat.com>
Cc: "Daniel P. Berrangé" <berrange@redhat.com>,
"Juan Quintela" <quintela@redhat.com>,
qemu-devel@nongnu.org, "Jason Wang" <jasowang@redhat.com>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Eric Blake" <eblake@redhat.com>
Subject: Re: [PATCH v4 3/3] multifd: Implement zerocopy write in multifd migration (multifd-zerocopy)
Date: Wed, 13 Oct 2021 14:26:43 +0800 [thread overview]
Message-ID: <YWZ8I8s62qyjTF/e@t490s> (raw)
In-Reply-To: <20211009075612.230283-4-leobras@redhat.com>
On Sat, Oct 09, 2021 at 04:56:13AM -0300, Leonardo Bras wrote:
> @@ -105,7 +105,13 @@ static int nocomp_send_prepare(MultiFDSendParams *p, uint32_t used,
> */
> static int nocomp_send_write(MultiFDSendParams *p, uint32_t used, Error **errp)
> {
> - return qio_channel_writev_all(p->c, p->pages->iov, used, errp);
> + int flags = 0;
> +
> + if (migrate_multifd_zerocopy()) {
> + flags = QIO_CHANNEL_WRITE_FLAG_ZEROCOPY;
> + }
> +
> + return qio_channel_writev_all_flags(p->c, p->pages->iov, used, flags, errp);
> }
What if the user specified ZEROCOPY+MULTIFD, but the kernel doesn't support it?
IIUC then the first call to qio_channel_writev_all_flags() above will fail,
then we fail the migration.
It seems fine, but since you've introduced QIO_CHANNEL_FEATURE_WRITE_ZEROCOPY
in the previous patch - I think the cleaner way is when start migration and
after we setup the ioc, we sanity check on the capability and the ioc to make
sure if ZEROCOPY+MULTIFD is specified, we should fail early if we're sure the
ioc doesn't have QIO_CHANNEL_FEATURE_WRITE_ZEROCOPY bit set?
--
Peter Xu
next prev parent reply other threads:[~2021-10-13 6:34 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-09 7:56 [PATCH v4 0/3] MSG_ZEROCOPY for multifd Leonardo Bras
2021-10-09 7:56 ` [PATCH v4 1/3] QIOChannel: Add io_writev_zerocopy & io_flush_zerocopy callbacks Leonardo Bras
2021-10-11 19:17 ` Eric Blake
2021-10-11 19:38 ` Leonardo Bras Soares Passos
2021-10-11 20:45 ` Eric Blake
2021-10-11 20:59 ` Leonardo Bras Soares Passos
2021-10-13 6:07 ` Peter Xu
2021-10-13 6:32 ` Peter Xu
2021-10-27 6:07 ` Leonardo Bras Soares Passos
2021-10-27 6:15 ` Peter Xu
2021-10-27 6:31 ` Leonardo Bras Soares Passos
2021-10-09 7:56 ` [PATCH v4 2/3] QIOChannelSocket: Implement io_writev_zerocopy & io_flush_zerocopy for CONFIG_LINUX Leonardo Bras
2021-10-11 19:27 ` Eric Blake
2021-10-11 19:44 ` Leonardo Bras Soares Passos
2021-10-13 6:18 ` Peter Xu
2021-10-27 6:30 ` Leonardo Bras Soares Passos
2021-11-02 13:13 ` Juan Quintela
2021-11-03 20:50 ` Leonardo Bras Soares Passos
2021-10-09 7:56 ` [PATCH v4 3/3] multifd: Implement zerocopy write in multifd migration (multifd-zerocopy) Leonardo Bras
2021-10-11 19:31 ` Eric Blake
2021-10-11 19:56 ` Leonardo Bras Soares Passos
2021-10-12 5:53 ` Markus Armbruster
2021-10-28 1:56 ` Leonardo Bras Soares Passos
2021-10-28 4:30 ` Markus Armbruster
2021-10-28 4:37 ` Leonardo Bras Soares Passos
2021-10-13 6:23 ` Peter Xu
2021-10-27 6:47 ` Leonardo Bras Soares Passos
2021-10-27 7:06 ` Peter Xu
2021-10-13 6:26 ` Peter Xu [this message]
2021-10-27 6:50 ` Leonardo Bras Soares Passos
2021-11-02 12:32 ` Juan Quintela
2021-11-03 21:29 ` Leonardo Bras Soares Passos
2021-11-03 23:24 ` Juan Quintela
2021-11-04 3:43 ` Leonardo Bras Soares Passos
2022-04-14 4:00 ` 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=YWZ8I8s62qyjTF/e@t490s \
--to=peterx@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=jasowang@redhat.com \
--cc=leobras@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).