From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Leonardo Bras <leobras@redhat.com>,
Juan Quintela <quintela@redhat.com>,
Eric Blake <eblake@redhat.com>, Peter Xu <peterx@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [PATCH v2 2/3] Add zero-copy-copied migration stat
Date: Mon, 4 Jul 2022 13:16:17 +0100 [thread overview]
Message-ID: <YsLaEWcn51z3m52e@redhat.com> (raw)
In-Reply-To: <87k08tw0bq.fsf@pond.sub.org>
On Mon, Jul 04, 2022 at 02:04:41PM +0200, Markus Armbruster wrote:
> "Dr. David Alan Gilbert" <dgilbert@redhat.com> writes:
>
> > * Daniel P. Berrangé (berrange@redhat.com) wrote:
> >> On Mon, Jul 04, 2022 at 08:18:54AM +0200, Markus Armbruster wrote:
> >> > Leonardo Bras <leobras@redhat.com> writes:
> >> >
> >> > > Signed-off-by: Leonardo Bras <leobras@redhat.com>
> >> > > ---
> >> > > qapi/migration.json | 5 ++++-
> >> > > migration/migration.c | 1 +
> >> > > monitor/hmp-cmds.c | 4 ++++
> >> > > 3 files changed, 9 insertions(+), 1 deletion(-)
> >> > >
> >> > > diff --git a/qapi/migration.json b/qapi/migration.json
> >> > > index 7102e474a6..925f009868 100644
> >> > > --- a/qapi/migration.json
> >> > > +++ b/qapi/migration.json
> >> > > @@ -55,6 +55,9 @@
> >> > > # @postcopy-bytes: The number of bytes sent during the post-copy phase
> >> > > # (since 7.0).
> >> > > #
> >> > > +# @zero-copy-copied: The number of zero-copy flushes that reported data sent
> >> > > +# using zero-copy that ended up being copied. (since 7.2)
>
> since 7.1, unless you're planning for really tortuous review :)
>
> >> >
> >> > The description feels awkward. What's a "zero-copy flush", and why
> >> > should the user care? I figure what users care about is the number of
> >> > all-zero pages we had to "copy", i.e. send the bulky way. Is this what
> >> > @zero-copy-copied reports?
> >>
> >> MigrationCapability field @zero-copy-send instructs QEMU to try to
> >> avoid copying data between userspace and kernel space when transmitting
> >> RAM region.
> >>
> >> Even if the kernel supports zero copy, it is not guaranteed to happen,
> >> it is merely a request to try.
> >>
> >> QEMU periodically (once per migration iteration) flushes outstanding
> >> zero-copy requests and gets an indication back of whether any copies
> >> took place or not.
> >>
> >> So this counter is a reflection of how many iterations resulted in
> >> zero-copy not being fully honoured.
> >>
> >> IOW, ideally this counter will always be zero. If it is non-zero,
> >> then the magnitude gives a very very very rough guide to what's
> >> going on. If it is '1' then it was just a transient limitation.
> >> If it matches the number of migration iterations, then it is a
> >> more systemic limitation.
> >>
> >> Incidentally, do we report the migration iteration count ? I
> >> thought we did, but i'm not finding it now that I look.
> >
> > Yes we do; it's dirty-sync-count
>
> Please rephrase the documentation of @zero-copy-copied in terms of
> @dirty-sync-count. Here's my attempt.
>
> # @zero-copy-copied: Number of times dirty RAM synchronization could not
> # avoid copying zero pages. This is between 0 and
> # @dirty-sync-count. (since 7.1)
Any one have preferences on the name - i get slight put off by the
repeated word in the property name here.
@zero-copy-rejects ?
@zero-copy-misses ?
@zero-copy-fails ?
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2022-07-04 12:28 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-01 15:59 [PATCH v2 0/3] Zero copy improvements (QIOChannel + multifd) Leonardo Bras
2022-07-01 15:59 ` [PATCH v2 1/3] QIOChannelSocket: Fix zero-copy flush returning code 1 when nothing sent Leonardo Bras
2022-07-01 15:59 ` [PATCH v2 2/3] Add zero-copy-copied migration stat Leonardo Bras
2022-07-04 6:18 ` Markus Armbruster
2022-07-04 9:06 ` Daniel P. Berrangé
2022-07-04 11:33 ` Markus Armbruster
2022-07-04 11:40 ` Dr. David Alan Gilbert
2022-07-04 12:04 ` Markus Armbruster
2022-07-04 12:16 ` Daniel P. Berrangé [this message]
2022-07-04 12:59 ` Markus Armbruster
2022-07-04 13:14 ` Daniel P. Berrangé
2022-07-04 18:13 ` Leonardo Brás
2022-07-05 4:14 ` Markus Armbruster
2022-07-01 15:59 ` [PATCH v2 3/3] migration/multifd: Warn user when zerocopy not working Leonardo Bras
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=YsLaEWcn51z3m52e@redhat.com \
--to=berrange@redhat.com \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=leobras@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).