[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [External] Re: [PATCH v4 6/7] migration/multifd: Add zero pages and
From: |
hao . xiang |
Subject: |
Re: [External] Re: [PATCH v4 6/7] migration/multifd: Add zero pages and zero bytes counter to migration status interface. |
Date: |
Sat, 09 Mar 2024 06:56:45 +0000 |
>
> On Thu, Feb 29, 2024 at 11:40 PM Markus Armbruster <armbru@redhat.com> wrote:
>
> >
> > Hao Xiang <hao.xiang@bytedance.com> writes:
> >
> > This change extends the MigrationStatus interface to track zero pages
> >
> > and zero bytes counter.
> >
> > Signed-off-by: Hao Xiang <hao.xiang@bytedance.com>
> >
> > [...]
> >
> > diff --git a/qapi/migration.json b/qapi/migration.json
> >
> > index ca9561fbf1..03b850bab7 100644
> >
> > --- a/qapi/migration.json
> >
> > +++ b/qapi/migration.json
> >
> > @@ -63,6 +63,10 @@
> >
> > # between 0 and @dirty-sync-count * @multifd-channels. (since
> >
> > # 7.1)
> >
> > #
> >
> > +# @zero-pages: number of zero pages (since 9.0)
> >
> > +#
> >
> > +# @zero-bytes: number of zero bytes sent (since 9.0)
> >
> > +#
> >
> > Discussion of v3 has led me to believe:
> >
> > 1. A page is either migrated as a normal page or as a zero page.
> >
> > 2. The following equations hold:
> >
> > @normal-bytes = @normal * @page-size
> >
> > @zero-bytes = @zero-pages * @page-size
> >
> > 3. @zero-pages is the same as @duplicate, with a better name. We intend
> >
> > to drop @duplicate eventually.
> >
> > If this is correct, I'd like you to
> >
> > A. Name it @zero for consistency with @normal. Disregard my advice to
> >
> > name it @zero-pages; two consistent bad names are better than one bad
> >
> > name, one good name, and inconsistency.
> >
> > B. Add @zero and @zero-bytes next to @normal and @normal-bytes.
> >
> > C. Deprecate @duplicate (item 3). Separate patch, please.
> >
> > D. Consider documenting more clearly what normal and zero pages are
> >
> > (item 1), and how @FOO, @FOO-pages and @page-size are related (item
> >
> > 2). Could be done in a followup patch.
I will move this out of the current patchset and put them into a seperate
patchset. I think I am not totally understanding the exact process of
deprecating an interface and hence will need your help to probably go a few
more versions. And I read from earlier conversation the soft release for
QEMU9.0 is 3/12 so hopefully the rest of this patchset can catch it.
> >
> > # Features:
> >
> > #
> >
> > # @deprecated: Member @skipped is always zero since 1.5.3
> >
> > @@ -81,7 +85,8 @@
> >
> > 'multifd-bytes': 'uint64', 'pages-per-second': 'uint64',
> >
> > 'precopy-bytes': 'uint64', 'downtime-bytes': 'uint64',
> >
> > 'postcopy-bytes': 'uint64',
> >
> > - 'dirty-sync-missed-zero-copy': 'uint64' } }
> >
> > + 'dirty-sync-missed-zero-copy': 'uint64',
> >
> > + 'zero-pages': 'int', 'zero-bytes': 'size' } }
> >
> > [...]
> >
>