* Stefan Weil ([email protected]) wrote:
> Am 10.11.2015 um 15:25 schrieb Juan Quintela:
> > From: "Dr. David Alan Gilbert" <[email protected]>
> >
> > 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 <[email protected]>
> > Reviewed-by: Amit Shah <[email protected]>
> > Reviewed-by: Juan Quintela <[email protected]>
> > Signed-off-by: Juan Quintela <[email protected]>
> > ---
> > 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 / [email protected] / Manchester, UK