Re: [Qemu-devel] [PATCH v2 0/3] migration capability to discard the migrated ram pages
On 07.03.2017 16:56, Dr. David Alan Gilbert wrote: * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: On 14.02.2017 17:02, Dr. David Alan Gilbert wrote: Hi Pavel, I was curious, having merged this, how you're using postcopy; do you switch into postcopy mode immediately or wait until the first sync or what? Do you find yourself in postcopy mode long enough that it's worth doing the release? If so on what size VMs are you working with? Dave Hi Dave, I'm sorry it took so long, I was on vacation. And thanks for the quick review and merge! We want to use this function to update Qemu without rebooting VMs. It looks like a local migration on the same host. Now, switching into postcopy mode is done immediately, the size of VMs can be very different. Thanks! Do you have libvirt magic to do that update? Yes, there are patches that add a flag "--local" for migration. The flag adds start incoming VM and other magic about replacement source on destination. Dave * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: This feature frees the migrated memory on the source during postcopy-ram migration. In the second step of postcopy-ram migration when the source vm is put on pause we can free unnecessary memory. It will allow, in particular, to start relaxing the memory stress on the source host in a load-balancing scenario. Changes from v1: - changed name of the interfaces (discard to release) - fix make check error - add more comments to qemu_iovec_release_ram() - rebase on "Postcopy: Hugepage support" (David's patch series) - removed ram_discard_page for xbzrle - fix erroneous release memory in complete precopy (tie release-ram to postcopy) Pavel Butsykin (3): migration: add MigrationState arg for ram_save_/compressed_/page() add 'release-ram' migrate capability migration: discard non-dirty ram pages after the start of postcopy include/migration/migration.h | 2 ++ include/migration/qemu-file.h | 3 ++- migration/migration.c | 13 ++ migration/qemu-file.c | 59 ++- migration/ram.c | 56 ++-- qapi-schema.json | 5 +++- 6 files changed, 121 insertions(+), 17 deletions(-) -- 2.11.0 -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
Re: [Qemu-devel] [PATCH v2 0/3] migration capability to discard the migrated ram pages
On 07.03.2017 17:46, Dr. David Alan Gilbert wrote: * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: On 07.03.2017 16:56, Dr. David Alan Gilbert wrote: * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: On 14.02.2017 17:02, Dr. David Alan Gilbert wrote: Hi Pavel, I was curious, having merged this, how you're using postcopy; do you switch into postcopy mode immediately or wait until the first sync or what? Do you find yourself in postcopy mode long enough that it's worth doing the release? If so on what size VMs are you working with? Dave Hi Dave, I'm sorry it took so long, I was on vacation. And thanks for the quick review and merge! We want to use this function to update Qemu without rebooting VMs. It looks like a local migration on the same host. Now, switching into postcopy mode is done immediately, the size of VMs can be very different. Thanks! Do you have libvirt magic to do that update? Yes, there are patches that add a flag "--local" for migration. The flag adds start incoming VM and other magic about replacement source on destination. Nice; are those posted to libvirt's list somewhere? Not yet, but we're going to do it. Dave Dave * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: This feature frees the migrated memory on the source during postcopy-ram migration. In the second step of postcopy-ram migration when the source vm is put on pause we can free unnecessary memory. It will allow, in particular, to start relaxing the memory stress on the source host in a load-balancing scenario. Changes from v1: - changed name of the interfaces (discard to release) - fix make check error - add more comments to qemu_iovec_release_ram() - rebase on "Postcopy: Hugepage support" (David's patch series) - removed ram_discard_page for xbzrle - fix erroneous release memory in complete precopy (tie release-ram to postcopy) Pavel Butsykin (3): migration: add MigrationState arg for ram_save_/compressed_/page() add 'release-ram' migrate capability migration: discard non-dirty ram pages after the start of postcopy include/migration/migration.h | 2 ++ include/migration/qemu-file.h | 3 ++- migration/migration.c | 13 ++ migration/qemu-file.c | 59 ++- migration/ram.c | 56 ++-- qapi-schema.json | 5 +++- 6 files changed, 121 insertions(+), 17 deletions(-) -- 2.11.0 -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
Re: [Qemu-devel] [PATCH v2 0/3] migration capability to discard the migrated ram pages
* Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: > On 07.03.2017 17:46, Dr. David Alan Gilbert wrote: > > * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: > > > On 07.03.2017 16:56, Dr. David Alan Gilbert wrote: > > > > * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: > > > > > On 14.02.2017 17:02, Dr. David Alan Gilbert wrote: > > > > > > Hi Pavel, > > > > > > I was curious, having merged this, how you're using postcopy; > > > > > > do you switch > > > > > > into postcopy mode immediately or wait until the first sync or what? > > > > > > Do you find yourself in postcopy mode long enough that it's worth > > > > > > doing the release? If so on what size VMs are you working with? > > > > > > > > > > > > Dave > > > > > > > > > > Hi Dave, > > > > > I'm sorry it took so long, I was on vacation. And thanks for the quick > > > > > review and merge! > > > > > > > > > > We want to use this function to update Qemu without rebooting VMs. It > > > > > looks like a local migration on the same host. Now, switching into > > > > > postcopy mode is done immediately, the size of VMs can be very > > > > > different. > > > > > > > > Thanks! Do you have libvirt magic to do that update? > > > > > > Yes, there are patches that add a flag "--local" for migration. The > > > flag adds start incoming VM and other magic about replacement source on > > > destination. > > > > Nice; are those posted to libvirt's list somewhere? > > Not yet, but we're going to do it. Great, I look forward to that. Dave > > > Dave > > > > > > Dave > > > > > > > > > > * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: > > > > > > > This feature frees the migrated memory on the source during > > > > > > > postcopy-ram > > > > > > > migration. In the second step of postcopy-ram migration when the > > > > > > > source vm > > > > > > > is put on pause we can free unnecessary memory. It will allow, in > > > > > > > particular, > > > > > > > to start relaxing the memory stress on the source host in a > > > > > > > load-balancing > > > > > > > scenario. > > > > > > > > > > > > > > Changes from v1: > > > > > > > - changed name of the interfaces (discard to release) > > > > > > > - fix make check error > > > > > > > - add more comments to qemu_iovec_release_ram() > > > > > > > - rebase on "Postcopy: Hugepage support" (David's patch series) > > > > > > > - removed ram_discard_page for xbzrle > > > > > > > - fix erroneous release memory in complete precopy (tie > > > > > > > release-ram to postcopy) > > > > > > > > > > > > > > Pavel Butsykin (3): > > > > > > > migration: add MigrationState arg for > > > > > > > ram_save_/compressed_/page() > > > > > > > add 'release-ram' migrate capability > > > > > > > migration: discard non-dirty ram pages after the start of > > > > > > > postcopy > > > > > > > > > > > > > > include/migration/migration.h | 2 ++ > > > > > > > include/migration/qemu-file.h | 3 ++- > > > > > > > migration/migration.c | 13 ++ > > > > > > > migration/qemu-file.c | 59 > > > > > > > ++- > > > > > > > migration/ram.c | 56 > > > > > > > ++-- > > > > > > > qapi-schema.json | 5 +++- > > > > > > > 6 files changed, 121 insertions(+), 17 deletions(-) > > > > > > > > > > > > > > -- > > > > > > > 2.11.0 > > > > > > > > > > > > > > > > > > > > -- > > > > > > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > > > > > > > > > > -- > > > > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > > > > > > -- > > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
Re: [Qemu-devel] [PATCH v2 0/3] migration capability to discard the migrated ram pages
* Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: > On 07.03.2017 16:56, Dr. David Alan Gilbert wrote: > > * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: > > > On 14.02.2017 17:02, Dr. David Alan Gilbert wrote: > > > > Hi Pavel, > > > > I was curious, having merged this, how you're using postcopy; do > > > > you switch > > > > into postcopy mode immediately or wait until the first sync or what? > > > > Do you find yourself in postcopy mode long enough that it's worth > > > > doing the release? If so on what size VMs are you working with? > > > > > > > > Dave > > > > > > Hi Dave, > > > I'm sorry it took so long, I was on vacation. And thanks for the quick > > > review and merge! > > > > > > We want to use this function to update Qemu without rebooting VMs. It > > > looks like a local migration on the same host. Now, switching into > > > postcopy mode is done immediately, the size of VMs can be very > > > different. > > > > Thanks! Do you have libvirt magic to do that update? > > Yes, there are patches that add a flag "--local" for migration. The > flag adds start incoming VM and other magic about replacement source on > destination. Nice; are those posted to libvirt's list somewhere? Dave > > Dave > > > > > > * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: > > > > > This feature frees the migrated memory on the source during > > > > > postcopy-ram > > > > > migration. In the second step of postcopy-ram migration when the > > > > > source vm > > > > > is put on pause we can free unnecessary memory. It will allow, in > > > > > particular, > > > > > to start relaxing the memory stress on the source host in a > > > > > load-balancing > > > > > scenario. > > > > > > > > > > Changes from v1: > > > > > - changed name of the interfaces (discard to release) > > > > > - fix make check error > > > > > - add more comments to qemu_iovec_release_ram() > > > > > - rebase on "Postcopy: Hugepage support" (David's patch series) > > > > > - removed ram_discard_page for xbzrle > > > > > - fix erroneous release memory in complete precopy (tie release-ram > > > > > to postcopy) > > > > > > > > > > Pavel Butsykin (3): > > > > > migration: add MigrationState arg for ram_save_/compressed_/page() > > > > > add 'release-ram' migrate capability > > > > > migration: discard non-dirty ram pages after the start of postcopy > > > > > > > > > >include/migration/migration.h | 2 ++ > > > > >include/migration/qemu-file.h | 3 ++- > > > > >migration/migration.c | 13 ++ > > > > >migration/qemu-file.c | 59 > > > > > ++- > > > > >migration/ram.c | 56 > > > > > ++-- > > > > >qapi-schema.json | 5 +++- > > > > >6 files changed, 121 insertions(+), 17 deletions(-) > > > > > > > > > > -- > > > > > 2.11.0 > > > > > > > > > > > > > > -- > > > > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > > > > > > -- > > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
Re: [Qemu-devel] [PATCH v2 0/3] migration capability to discard the migrated ram pages
* Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: > On 14.02.2017 17:02, Dr. David Alan Gilbert wrote: > > Hi Pavel, > >I was curious, having merged this, how you're using postcopy; do you > > switch > > into postcopy mode immediately or wait until the first sync or what? > > Do you find yourself in postcopy mode long enough that it's worth > > doing the release? If so on what size VMs are you working with? > > > > Dave > > Hi Dave, > I'm sorry it took so long, I was on vacation. And thanks for the quick > review and merge! > > We want to use this function to update Qemu without rebooting VMs. It > looks like a local migration on the same host. Now, switching into > postcopy mode is done immediately, the size of VMs can be very > different. Thanks! Do you have libvirt magic to do that update? Dave > > * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: > > > This feature frees the migrated memory on the source during postcopy-ram > > > migration. In the second step of postcopy-ram migration when the source vm > > > is put on pause we can free unnecessary memory. It will allow, in > > > particular, > > > to start relaxing the memory stress on the source host in a load-balancing > > > scenario. > > > > > > Changes from v1: > > > - changed name of the interfaces (discard to release) > > > - fix make check error > > > - add more comments to qemu_iovec_release_ram() > > > - rebase on "Postcopy: Hugepage support" (David's patch series) > > > - removed ram_discard_page for xbzrle > > > - fix erroneous release memory in complete precopy (tie release-ram to > > > postcopy) > > > > > > Pavel Butsykin (3): > > >migration: add MigrationState arg for ram_save_/compressed_/page() > > >add 'release-ram' migrate capability > > >migration: discard non-dirty ram pages after the start of postcopy > > > > > > include/migration/migration.h | 2 ++ > > > include/migration/qemu-file.h | 3 ++- > > > migration/migration.c | 13 ++ > > > migration/qemu-file.c | 59 > > > ++- > > > migration/ram.c | 56 > > > ++-- > > > qapi-schema.json | 5 +++- > > > 6 files changed, 121 insertions(+), 17 deletions(-) > > > > > > -- > > > 2.11.0 > > > > > > > > -- > > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
Re: [Qemu-devel] [PATCH v2 0/3] migration capability to discard the migrated ram pages
On 14.02.2017 17:02, Dr. David Alan Gilbert wrote: Hi Pavel, I was curious, having merged this, how you're using postcopy; do you switch into postcopy mode immediately or wait until the first sync or what? Do you find yourself in postcopy mode long enough that it's worth doing the release? If so on what size VMs are you working with? Dave Hi Dave, I'm sorry it took so long, I was on vacation. And thanks for the quick review and merge! We want to use this function to update Qemu without rebooting VMs. It looks like a local migration on the same host. Now, switching into postcopy mode is done immediately, the size of VMs can be very different. * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: This feature frees the migrated memory on the source during postcopy-ram migration. In the second step of postcopy-ram migration when the source vm is put on pause we can free unnecessary memory. It will allow, in particular, to start relaxing the memory stress on the source host in a load-balancing scenario. Changes from v1: - changed name of the interfaces (discard to release) - fix make check error - add more comments to qemu_iovec_release_ram() - rebase on "Postcopy: Hugepage support" (David's patch series) - removed ram_discard_page for xbzrle - fix erroneous release memory in complete precopy (tie release-ram to postcopy) Pavel Butsykin (3): migration: add MigrationState arg for ram_save_/compressed_/page() add 'release-ram' migrate capability migration: discard non-dirty ram pages after the start of postcopy include/migration/migration.h | 2 ++ include/migration/qemu-file.h | 3 ++- migration/migration.c | 13 ++ migration/qemu-file.c | 59 ++- migration/ram.c | 56 ++-- qapi-schema.json | 5 +++- 6 files changed, 121 insertions(+), 17 deletions(-) -- 2.11.0 -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
Re: [Qemu-devel] [PATCH v2 0/3] migration capability to discard the migrated ram pages
Hi Pavel, I was curious, having merged this, how you're using postcopy; do you switch into postcopy mode immediately or wait until the first sync or what? Do you find yourself in postcopy mode long enough that it's worth doing the release? If so on what size VMs are you working with? Dave * Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: > This feature frees the migrated memory on the source during postcopy-ram > migration. In the second step of postcopy-ram migration when the source vm > is put on pause we can free unnecessary memory. It will allow, in particular, > to start relaxing the memory stress on the source host in a load-balancing > scenario. > > Changes from v1: > - changed name of the interfaces (discard to release) > - fix make check error > - add more comments to qemu_iovec_release_ram() > - rebase on "Postcopy: Hugepage support" (David's patch series) > - removed ram_discard_page for xbzrle > - fix erroneous release memory in complete precopy (tie release-ram to > postcopy) > > Pavel Butsykin (3): > migration: add MigrationState arg for ram_save_/compressed_/page() > add 'release-ram' migrate capability > migration: discard non-dirty ram pages after the start of postcopy > > include/migration/migration.h | 2 ++ > include/migration/qemu-file.h | 3 ++- > migration/migration.c | 13 ++ > migration/qemu-file.c | 59 > ++- > migration/ram.c | 56 ++-- > qapi-schema.json | 5 +++- > 6 files changed, 121 insertions(+), 17 deletions(-) > > -- > 2.11.0 > > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
Re: [Qemu-devel] [PATCH v2 0/3] migration capability to discard the migrated ram pages
* Pavel Butsykin (pbutsy...@virtuozzo.com) wrote: > This feature frees the migrated memory on the source during postcopy-ram > migration. In the second step of postcopy-ram migration when the source vm > is put on pause we can free unnecessary memory. It will allow, in particular, > to start relaxing the memory stress on the source host in a load-balancing > scenario. Queued. > > Changes from v1: > - changed name of the interfaces (discard to release) > - fix make check error > - add more comments to qemu_iovec_release_ram() > - rebase on "Postcopy: Hugepage support" (David's patch series) > - removed ram_discard_page for xbzrle > - fix erroneous release memory in complete precopy (tie release-ram to > postcopy) > > Pavel Butsykin (3): > migration: add MigrationState arg for ram_save_/compressed_/page() > add 'release-ram' migrate capability > migration: discard non-dirty ram pages after the start of postcopy > > include/migration/migration.h | 2 ++ > include/migration/qemu-file.h | 3 ++- > migration/migration.c | 13 ++ > migration/qemu-file.c | 59 > ++- > migration/ram.c | 56 ++-- > qapi-schema.json | 5 +++- > 6 files changed, 121 insertions(+), 17 deletions(-) > > -- > 2.11.0 > > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
Re: [Qemu-devel] [PATCH v2 0/3] migration capability to discard the migrated ram pages
Hi, Your series failed automatic build test. Please find the testing commands and their output below. If you have docker installed, you can probably reproduce it locally. Type: series Subject: [Qemu-devel] [PATCH v2 0/3] migration capability to discard the migrated ram pages Message-id: 20170203152321.19739-1-pbutsy...@virtuozzo.com === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 export J=16 make docker-test-quick@centos6 make docker-test-mingw@fedora make docker-test-build@min-glib === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' ad60afe migration: discard non-dirty ram pages after the start of postcopy 96046dc add 'release-ram' migrate capability aa07734 migration: add MigrationState arg for ram_save_/compressed_/page() === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into 'dtc'... Submodule path 'dtc': checked out '65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf' BUILD centos6 make[1]: Entering directory `/var/tmp/patchew-tester-tmp-o9kc_ni7/src' ARCHIVE qemu.tgz ARCHIVE dtc.tgz COPYRUNNER RUN test-quick in qemu:centos6 Packages installed: SDL-devel-1.2.14-7.el6_7.1.x86_64 ccache-3.1.6-2.el6.x86_64 epel-release-6-8.noarch gcc-4.4.7-17.el6.x86_64 git-1.7.1-4.el6_7.1.x86_64 glib2-devel-2.28.8-5.el6.x86_64 libfdt-devel-1.4.0-1.el6.x86_64 make-3.81-23.el6.x86_64 package g++ is not installed pixman-devel-0.32.8-1.el6.x86_64 tar-1.23-15.el6_8.x86_64 zlib-devel-1.2.3-29.el6.x86_64 Environment variables: PACKAGES=libfdt-devel ccache tar git make gcc g++ zlib-devel glib2-devel SDL-devel pixman-devel epel-release HOSTNAME=ff55140c8db0 TERM=xterm MAKEFLAGS= -j16 HISTSIZE=1000 J=16 USER=root CCACHE_DIR=/var/tmp/ccache EXTRA_CONFIGURE_OPTS= V= SHOW_ENV=1 MAIL=/var/spool/mail/root PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ LANG=en_US.UTF-8 TARGET_LIST= HISTCONTROL=ignoredups SHLVL=1 HOME=/root TEST_DIR=/tmp/qemu-test LOGNAME=root LESSOPEN=||/usr/bin/lesspipe.sh %s FEATURES= dtc DEBUG= G_BROKEN_FILENAMES=1 CCACHE_HASHDIR= _=/usr/bin/env Configure options: --enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/var/tmp/qemu-build/install No C++ compiler available; disabling C++ specific optional code Install prefix/var/tmp/qemu-build/install BIOS directory/var/tmp/qemu-build/install/share/qemu binary directory /var/tmp/qemu-build/install/bin library directory /var/tmp/qemu-build/install/lib module directory /var/tmp/qemu-build/install/lib/qemu libexec directory /var/tmp/qemu-build/install/libexec include directory /var/tmp/qemu-build/install/include config directory /var/tmp/qemu-build/install/etc local state directory /var/tmp/qemu-build/install/var Manual directory /var/tmp/qemu-build/install/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /tmp/qemu-test/src C compilercc Host C compiler cc C++ compiler Objective-C compiler cc ARFLAGS rv CFLAGS-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g QEMU_CFLAGS -I/usr/include/pixman-1-pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g make make install install pythonpython -B smbd /usr/sbin/smbd module supportno host CPU x86_64 host big endian no target list x86_64-softmmu aarch64-softmmu tcg debug enabled no gprof enabled no sparse enabledno strip binariesyes profiler no static build no pixmansystem SDL support yes (1.2.14) GTK support no GTK GL supportno VTE support no TLS priority NORMAL GNUTLS supportno GNUTLS rndno libgcrypt no libgcrypt kdf no nettleno nettle kdfno libtasn1 no curses supportno virgl support no curl support no mingw32 support no Audio drivers oss Block whitelist (rw) Block whitelist (ro) VirtFS supportno VNC support yes VNC SASL support no VNC JPEG support no VNC PNG support no xen support no brlapi supportno bluez supportno Documentation no PIE yes vde support no netmap supportno Linux AIO support no ATTR/XATTR support yes Install blobs yes KVM support yes HAX support no RDMA
[Qemu-devel] [PATCH v2 0/3] migration capability to discard the migrated ram pages
This feature frees the migrated memory on the source during postcopy-ram migration. In the second step of postcopy-ram migration when the source vm is put on pause we can free unnecessary memory. It will allow, in particular, to start relaxing the memory stress on the source host in a load-balancing scenario. Changes from v1: - changed name of the interfaces (discard to release) - fix make check error - add more comments to qemu_iovec_release_ram() - rebase on "Postcopy: Hugepage support" (David's patch series) - removed ram_discard_page for xbzrle - fix erroneous release memory in complete precopy (tie release-ram to postcopy) Pavel Butsykin (3): migration: add MigrationState arg for ram_save_/compressed_/page() add 'release-ram' migrate capability migration: discard non-dirty ram pages after the start of postcopy include/migration/migration.h | 2 ++ include/migration/qemu-file.h | 3 ++- migration/migration.c | 13 ++ migration/qemu-file.c | 59 ++- migration/ram.c | 56 ++-- qapi-schema.json | 5 +++- 6 files changed, 121 insertions(+), 17 deletions(-) -- 2.11.0