Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
migration: skipped field is really obsolete.
Has return zero for more than 10 years.

Specifically we introduced the field in 1.5.0

commit f1c7279
Author: Peter Lieven <pl@kamp.de>
Date:   Tue Mar 26 10:58:37 2013 +0100

    migration: do not sent zero pages in bulk stage

    during bulk stage of ram migration if a page is a
    zero page do not send it at all.
    the memory at the destination reads as zero anyway.

    even if there is an madvise with QEMU_MADV_DONTNEED
    at the target upon receipt of a zero page I have observed
    that the target starts swapping if the memory is overcommitted.
    it seems that the pages are dropped asynchronously.

    this patch also updates QMP to return the number of
    skipped pages in MigrationStats.

but removed its usage in 1.5.3

commit 9ef051e
Author: Peter Lieven <pl@kamp.de>
Date:   Mon Jun 10 12:14:19 2013 +0200

    Revert "migration: do not sent zero pages in bulk stage"

    Not sending zero pages breaks migration if a page is zero
    at the source but not at the destination. This can e.g. happen
    if different BIOS versions are used at source and destination.
    It has also been reported that migration on pseries is completely
    broken with this patch.

    This effectively reverts commit f1c7279.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-ID: <20230612193344.3796-2-quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
  • Loading branch information
Juan Quintela committed Jul 26, 2023
1 parent bc28a61 commit 7b24d32
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
10 changes: 10 additions & 0 deletions docs/about/deprecated.rst
Expand Up @@ -451,3 +451,13 @@ both, older and future versions of QEMU.
The ``blacklist`` config file option has been renamed to ``block-rpcs``
(to be in sync with the renaming of the corresponding command line
option).

Migration
---------

``skipped`` MigrationStats field (since 8.1)
''''''''''''''''''''''''''''''''''''''''''''

``skipped`` field in Migration stats has been deprecated. It hasn't
been used for more than 10 years.

12 changes: 10 additions & 2 deletions qapi/migration.json
Expand Up @@ -23,7 +23,8 @@
#
# @duplicate: number of duplicate (zero) pages (since 1.2)
#
# @skipped: number of skipped zero pages (since 1.5)
# @skipped: number of skipped zero pages. Always zero, only provided for
# compatibility (since 1.5)
#
# @normal: number of normal pages (since 1.2)
#
Expand Down Expand Up @@ -62,11 +63,18 @@
# between 0 and @dirty-sync-count * @multifd-channels. (since
# 7.1)
#
# Features:
#
# @deprecated: Member @skipped is always zero since 1.5.3
#
# Since: 0.14
#
##
{ 'struct': 'MigrationStats',
'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' ,
'duplicate': 'int', 'skipped': 'int', 'normal': 'int',
'duplicate': 'int',
'skipped': { 'type': 'int', 'features': ['deprecated'] },
'normal': 'int',
'normal-bytes': 'int', 'dirty-pages-rate': 'int',
'mbps': 'number', 'dirty-sync-count': 'int',
'postcopy-requests': 'int', 'page-size': 'int',
Expand Down

0 comments on commit 7b24d32

Please sign in to comment.