qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 25/57] Add wrappers and handlers for sending/rece


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PULL 25/57] Add wrappers and handlers for sending/receiving the postcopy-ram migration messages.
Date: Mon, 16 Nov 2015 10:07:35 +0000
User-agent: Mutt/1.5.24 (2015-08-30)

* Stefan Weil (address@hidden) wrote:
> Am 10.11.2015 um 15:25 schrieb Juan Quintela:
> > From: "Dr. David Alan Gilbert" <address@hidden>
> >
> > The state of the postcopy process is managed via a series of messages;
> >    * Add wrappers and handlers for sending/receiving these messages
> >    * Add state variable that track the current state of postcopy
> >
> > Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> > Reviewed-by: Amit Shah <address@hidden>
> > Reviewed-by: Juan Quintela <address@hidden>
> > Signed-off-by: Juan Quintela <address@hidden>
> > ---
> >  include/migration/migration.h |  27 +++++
> >  include/sysemu/sysemu.h       |  19 ++++
> >  migration/migration.c         |  20 ++++
> >  migration/savevm.c            | 254 
> > ++++++++++++++++++++++++++++++++++++++++++
> >  trace-events                  |  10 ++
> >  5 files changed, 330 insertions(+)
> >
> [...]
> > diff --git a/migration/savevm.c b/migration/savevm.c
> [...]
> > +    if (remote_hps != getpagesize())  {
> > +        /*
> > +         * Some combinations of mismatch are probably possible but it gets
> > +         * a bit more complicated.  In particular we need to place whole
> > +         * host pages on the dest at once, and we need to ensure that we
> > +         * handle dirtying to make sure we never end up sending part of
> > +         * a hostpage on it's own.
> > +         */
> > +        error_report("Postcopy needs matching host page sizes (s=%d d=%d)",
> > +                     (int)remote_hps, getpagesize());
> 
> This statement introduces a new warning when compiling for
> Windows where getpagesize() returns a size_t. I'll send a patch
> to change that definition to return an int value.

Interesting; which compiler are you using; I don't think any of us testing with
ming hit that.

> Is there a special reason why a type cast was used here
> instead of using PRIu64? See also the format string below.

No not really; to be honest those should probably have been something smaller
than 64bit anyway, normal page size being that big would be odd.

Dave

> Regards
> Stefan
> 
> 
> > +        return -1;
> > +    }
> > +
> > +    remote_tps = qemu_get_be64(mis->from_src_file);
> > +    if (remote_tps != (1ul << qemu_target_page_bits())) {
> > +        /*
> > +         * Again, some differences could be dealt with, but for now keep it
> > +         * simple.
> > +         */
> > +        error_report("Postcopy needs matching target page sizes (s=%d 
> > d=%d)",
> > +                     (int)remote_tps, 1 << qemu_target_page_bits());
> >
> 
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]