[PULL 00/17] migration queue

Dr. David Alan Gilbert (git) posted 17 patches 2 years, 11 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210511150842.207155-1-dgilbert@redhat.com
Maintainers: Laurent Vivier <lvivier@redhat.com>, Anthony Perard <anthony.perard@citrix.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Stefano Stabellini <sstabellini@kernel.org>, "Michael S. Tsirkin" <mst@redhat.com>, David Hildenbrand <david@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, Paul Durrant <paul@xen.org>, Colin Xu <colin.xu@intel.com>, Richard Henderson <richard.henderson@linaro.org>, Juan Quintela <quintela@redhat.com>, Wenchao Wang <wenchao.wang@intel.com>, Thomas Huth <thuth@redhat.com>
There is a newer version of this series
hw/core/numa.c                          |  41 +++++-
hw/i386/xen/xen-mapcache.c              |   7 +-
hw/virtio/virtio-balloon.c              |   4 +-
hw/virtio/virtio-mem.c                  |   3 -
include/exec/cpu-common.h               |   1 +
include/exec/memory.h                   |  10 +-
include/exec/ramblock.h                 |  10 ++
include/exec/ramlist.h                  |  13 +-
include/migration/misc.h                |   1 -
migration/migration.c                   |  38 ++---
migration/migration.h                   |   1 +
migration/multifd.c                     |   2 +-
migration/postcopy-ram.c                |  15 +-
migration/ram.c                         | 246 ++++++++++++++++++--------------
monitor/hmp-cmds.c                      |   2 +-
qapi/migration.json                     |   6 -
softmmu/physmem.c                       |  26 +++-
target/i386/hax/hax-mem.c               |   5 +-
target/i386/sev.c                       |  18 +--
tests/migration/guestperf/comparison.py |  14 ++
tests/migration/guestperf/engine.py     |  16 +++
tests/migration/guestperf/scenario.py   |  12 +-
tests/migration/guestperf/shell.py      |  10 +-
tests/qtest/migration-test.c            |  75 ++++------
util/vfio-helpers.c                     |  41 ++----
25 files changed, 367 insertions(+), 250 deletions(-)
[PULL 00/17] migration queue
Posted by Dr. David Alan Gilbert (git) 2 years, 11 months ago
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

The following changes since commit e4f3ede95ce813d5705c65e1c0e1c80c70739ebb:

  Merge remote-tracking branch 'remotes/kraxel/tags/usb-20210505-pull-request' into staging (2021-05-10 19:55:06 +0100)

are available in the Git repository at:

  git://github.com/dagrh/qemu.git tags/pull-migration-20210511a

for you to fetch changes up to 872df23afc70985af5a458e0c4bd2b984559015c:

  tests/migration: introduce multifd into guestperf (2021-05-11 11:26:19 +0100)

----------------------------------------------------------------
Migration pull 2021-05-11

The largest change in this set is David's changes for ram block size
changing; then there's a pile of other cleanups and fixes.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

----------------------------------------------------------------
David Hildenbrand (11):
      migrate/ram: remove "ram_bulk_stage" and "fpo_enabled"
      util: vfio-helpers: Factor out and fix processing of existing ram blocks
      numa: Teach ram block notifiers about resizeable ram blocks
      numa: Make all callbacks of ram block notifiers optional
      migration/ram: Handle RAM block resizes during precopy
      exec: Relax range check in ram_block_discard_range()
      migration/ram: Discard RAM when growing RAM blocks after ram_postcopy_incoming_init()
      migration/ram: Simplify host page handling in ram_load_postcopy()
      migration/ram: Handle RAM block resizes during postcopy
      migration/multifd: Print used_length of memory block
      migration/ram: Use offset_in_ramblock() in range checks

Dr. David Alan Gilbert (1):
      tests/migration-test: Fix "true" vs true

Hyman (1):
      tests/migration: introduce multifd into guestperf

Kunkun Jiang (2):
      migration/ram: Reduce unnecessary rate limiting
      migration/ram: Optimize ram_save_host_page()

Markus Armbruster (1):
      migration: Drop redundant query-migrate result @blocked

Peter Maydell (1):
      tests/qtest/migration-test: Use g_autofree to avoid leaks on error paths

 hw/core/numa.c                          |  41 +++++-
 hw/i386/xen/xen-mapcache.c              |   7 +-
 hw/virtio/virtio-balloon.c              |   4 +-
 hw/virtio/virtio-mem.c                  |   3 -
 include/exec/cpu-common.h               |   1 +
 include/exec/memory.h                   |  10 +-
 include/exec/ramblock.h                 |  10 ++
 include/exec/ramlist.h                  |  13 +-
 include/migration/misc.h                |   1 -
 migration/migration.c                   |  38 ++---
 migration/migration.h                   |   1 +
 migration/multifd.c                     |   2 +-
 migration/postcopy-ram.c                |  15 +-
 migration/ram.c                         | 246 ++++++++++++++++++--------------
 monitor/hmp-cmds.c                      |   2 +-
 qapi/migration.json                     |   6 -
 softmmu/physmem.c                       |  26 +++-
 target/i386/hax/hax-mem.c               |   5 +-
 target/i386/sev.c                       |  18 +--
 tests/migration/guestperf/comparison.py |  14 ++
 tests/migration/guestperf/engine.py     |  16 +++
 tests/migration/guestperf/scenario.py   |  12 +-
 tests/migration/guestperf/shell.py      |  10 +-
 tests/qtest/migration-test.c            |  75 ++++------
 util/vfio-helpers.c                     |  41 ++----
 25 files changed, 367 insertions(+), 250 deletions(-)


Re: [PULL 00/17] migration queue
Posted by Peter Maydell 2 years, 11 months ago
On Tue, 11 May 2021 at 16:08, Dr. David Alan Gilbert (git)
<dgilbert@redhat.com> wrote:
>
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>
> The following changes since commit e4f3ede95ce813d5705c65e1c0e1c80c70739ebb:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/usb-20210505-pull-request' into staging (2021-05-10 19:55:06 +0100)
>
> are available in the Git repository at:
>
>   git://github.com/dagrh/qemu.git tags/pull-migration-20210511a
>
> for you to fetch changes up to 872df23afc70985af5a458e0c4bd2b984559015c:
>
>   tests/migration: introduce multifd into guestperf (2021-05-11 11:26:19 +0100)
>
> ----------------------------------------------------------------
> Migration pull 2021-05-11
>
> The largest change in this set is David's changes for ram block size
> changing; then there's a pile of other cleanups and fixes.
>
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>

Fails to build on the gitlab cross build job:
https://gitlab.com/qemu-project/qemu/-/jobs/1258047823

../migration/ram.c: In function 'host_page_from_ram_block_offset':
../migration/ram.c:3092:12: error: cast to pointer from integer of
different size [-Werror=int-to-pointer-cast]
return (void *)QEMU_ALIGN_DOWN((uintptr_t)block->host + offset,
^

thanks
-- PMM

Re: [PULL 00/17] migration queue
Posted by Dr. David Alan Gilbert 2 years, 11 months ago
* Peter Maydell (peter.maydell@linaro.org) wrote:
> On Tue, 11 May 2021 at 16:08, Dr. David Alan Gilbert (git)
> <dgilbert@redhat.com> wrote:
> >
> > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> >
> > The following changes since commit e4f3ede95ce813d5705c65e1c0e1c80c70739ebb:
> >
> >   Merge remote-tracking branch 'remotes/kraxel/tags/usb-20210505-pull-request' into staging (2021-05-10 19:55:06 +0100)
> >
> > are available in the Git repository at:
> >
> >   git://github.com/dagrh/qemu.git tags/pull-migration-20210511a
> >
> > for you to fetch changes up to 872df23afc70985af5a458e0c4bd2b984559015c:
> >
> >   tests/migration: introduce multifd into guestperf (2021-05-11 11:26:19 +0100)
> >
> > ----------------------------------------------------------------
> > Migration pull 2021-05-11
> >
> > The largest change in this set is David's changes for ram block size
> > changing; then there's a pile of other cleanups and fixes.
> >
> > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> >
> 
> Fails to build on the gitlab cross build job:
> https://gitlab.com/qemu-project/qemu/-/jobs/1258047823
> 
> ../migration/ram.c: In function 'host_page_from_ram_block_offset':
> ../migration/ram.c:3092:12: error: cast to pointer from integer of
> different size [-Werror=int-to-pointer-cast]
> return (void *)QEMU_ALIGN_DOWN((uintptr_t)block->host + offset,
> ^

Interesting; it's compiling fine on my i686 debian chroot I normally use
to find 32bit-isms.

I'll have a look.

Dave

> thanks
> -- PMM
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK


Re: [PULL 00/17] migration queue
Posted by Peter Maydell 2 years, 11 months ago
On Thu, 13 May 2021 at 14:17, Dr. David Alan Gilbert
<dgilbert@redhat.com> wrote:
>
> * Peter Maydell (peter.maydell@linaro.org) wrote:
> > Fails to build on the gitlab cross build job:
> > https://gitlab.com/qemu-project/qemu/-/jobs/1258047823
> >
> > ../migration/ram.c: In function 'host_page_from_ram_block_offset':
> > ../migration/ram.c:3092:12: error: cast to pointer from integer of
> > different size [-Werror=int-to-pointer-cast]
> > return (void *)QEMU_ALIGN_DOWN((uintptr_t)block->host + offset,
> > ^
>
> Interesting; it's compiling fine on my i686 debian chroot I normally use
> to find 32bit-isms.

Yeah, it was ok on the 32-bit machine I use too. It's maybe
a bit of code that's hidden by ifdefs or whatever on my setup
but exposed on the gitlab builder.

-- PMM

Re: [PULL 00/17] migration queue
Posted by Dr. David Alan Gilbert 2 years, 11 months ago
* Peter Maydell (peter.maydell@linaro.org) wrote:
> On Tue, 11 May 2021 at 16:08, Dr. David Alan Gilbert (git)
> <dgilbert@redhat.com> wrote:
> >
> > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> >
> > The following changes since commit e4f3ede95ce813d5705c65e1c0e1c80c70739ebb:
> >
> >   Merge remote-tracking branch 'remotes/kraxel/tags/usb-20210505-pull-request' into staging (2021-05-10 19:55:06 +0100)
> >
> > are available in the Git repository at:
> >
> >   git://github.com/dagrh/qemu.git tags/pull-migration-20210511a
> >
> > for you to fetch changes up to 872df23afc70985af5a458e0c4bd2b984559015c:
> >
> >   tests/migration: introduce multifd into guestperf (2021-05-11 11:26:19 +0100)
> >
> > ----------------------------------------------------------------
> > Migration pull 2021-05-11
> >
> > The largest change in this set is David's changes for ram block size
> > changing; then there's a pile of other cleanups and fixes.
> >
> > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> >
> 
> Fails to build on the gitlab cross build job:
> https://gitlab.com/qemu-project/qemu/-/jobs/1258047823
> 
> ../migration/ram.c: In function 'host_page_from_ram_block_offset':
> ../migration/ram.c:3092:12: error: cast to pointer from integer of
> different size [-Werror=int-to-pointer-cast]
> return (void *)QEMU_ALIGN_DOWN((uintptr_t)block->host + offset,
> ^

OK, resent with a pair of brackets around the (block->host + offset),
so that the result ends up as the uintptr_t.  Seems to work for me in
the docker test that otherwise failed.

Dave

> 
> thanks
> -- PMM
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK