Re: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery
Hi, This series failed build test on ppc host. Please find the details below. Type: series Message-id: 20180208103132.28452-1-pet...@redhat.com Subject: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery === TEST SCRIPT BEGIN === #!/bin/bash # Testing script will be invoked under the git checkout with # HEAD pointing to a commit that has the patches applied on top of "base" # branch set -e echo "=== ENV ===" env echo "=== PACKAGES ===" rpm -qa echo "=== TEST BEGIN ===" INSTALL=$PWD/install BUILD=$PWD/build mkdir -p $BUILD $INSTALL SRC=$PWD cd $BUILD $SRC/configure --prefix=$INSTALL make -j100 # XXX: we need reliable clean up # make check -j100 V=1 make install === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Submodule 'capstone' (git://git.qemu.org/capstone.git) registered for path 'capstone' Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Submodule 'roms/QemuMacDrivers' (git://git.qemu.org/QemuMacDrivers.git) registered for path 'roms/QemuMacDrivers' Submodule 'roms/SLOF' (git://git.qemu-project.org/SLOF.git) registered for path 'roms/SLOF' Submodule 'roms/ipxe' (git://git.qemu-project.org/ipxe.git) registered for path 'roms/ipxe' Submodule 'roms/openbios' (git://git.qemu-project.org/openbios.git) registered for path 'roms/openbios' Submodule 'roms/openhackware' (git://git.qemu-project.org/openhackware.git) registered for path 'roms/openhackware' Submodule 'roms/qemu-palcode' (git://github.com/rth7680/qemu-palcode.git) registered for path 'roms/qemu-palcode' Submodule 'roms/seabios' (git://git.qemu-project.org/seabios.git/) registered for path 'roms/seabios' Submodule 'roms/seabios-hppa' (git://github.com/hdeller/seabios-hppa.git) registered for path 'roms/seabios-hppa' Submodule 'roms/sgabios' (git://git.qemu-project.org/sgabios.git) registered for path 'roms/sgabios' Submodule 'roms/skiboot' (git://git.qemu.org/skiboot.git) registered for path 'roms/skiboot' Submodule 'roms/u-boot' (git://git.qemu-project.org/u-boot.git) registered for path 'roms/u-boot' Submodule 'roms/vgabios' (git://git.qemu-project.org/vgabios.git/) registered for path 'roms/vgabios' Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into 'capstone'... Submodule path 'capstone': checked out '22ead3e0bfdb87516656453336160e0a37b066bf' Cloning into 'dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42' Cloning into 'roms/QemuMacDrivers'... Submodule path 'roms/QemuMacDrivers': checked out 'd4e7d7ac663fcb55f1b93575445fcbca372f17a7' Cloning into 'roms/SLOF'... Submodule path 'roms/SLOF': checked out 'fa981320a1e0968d6fc1b8de319723ff8212b337' Cloning into 'roms/ipxe'... Submodule path 'roms/ipxe': checked out '0600d3ae94f93efd10fc6b3c7420a9557a3a1670' Cloning into 'roms/openbios'... Submodule path 'roms/openbios': checked out 'b5c93acd14b7b3886c2c81d84cd18e666984a4c8' Cloning into 'roms/openhackware'... Submodule path 'roms/openhackware': checked out 'c559da7c8eec5e45ef1f67978827af6f0b9546f5' Cloning into 'roms/qemu-palcode'... Submodule path 'roms/qemu-palcode': checked out 'f3c7e44c70254975df2a00af39701eafbac4d471' Cloning into 'roms/seabios'... Submodule path 'roms/seabios': checked out '63451fca13c75870e1703eb3e20584d91179aebc' Cloning into 'roms/seabios-hppa'... Submodule path 'roms/seabios-hppa': checked out '649e6202b8d65d46c69f542b1380f840fbe8ab13' Cloning into 'roms/sgabios'... Submodule path 'roms/sgabios': checked out 'cbaee52287e5f32373181cff50a00b6c4ac9015a' Cloning into 'roms/skiboot'... Submodule path 'roms/skiboot': checked out 'e0ee24c27a172bcf482f6f2bc905e6211c134bcc' Cloning into 'roms/u-boot'... Submodule path 'roms/u-boot': checked out 'd85ca029f257b53a96da6c2fb421e78a003a9943' Cloning into 'roms/vgabios'... Submodule path 'roms/vgabios': checked out '19ea12c230ded95928ecaef0db47a82231c2e485' Cloning into 'ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce' Switched to a new branch 'test' 9fef7a4 migration/hmp: add migrate_pause command e5bc884 migration/qmp: add command migrate-pause ae62f07 hmp/migration: add migrate_recover command b6a9d72 qmp/migration: new command migrate-recover 9903aa7 io: let watcher of the channel run in same ctx ef37cc9 migration: init dst in migration_object_init too b9a7a63 migration: final handshake for the resume 40d1c0e migration: setup ramstate for resume 4faada9 migration: synchronize dirty bitmap for resume 1c86b22 migration: introduce SaveVMHandlers.resume_prepare 99d5d3e migration: new message MIG_RP_MSG_RESUME_ACK 011a3e5 migration: new cmd MIG_CMD_POSTCOPY_RESUME e8ea13a migration: new message MIG_RP_MSG_RECV_BITMAP 0527218 migration: new cmd MIG_CMD_RECV_BITMAP 060b476 migration: wakeup dst ram-load-thread for recover 5c512af migration: new state "postcopy-recover" 3c817a2 migr
Re: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery
On Thu, Feb 08, 2018 at 06:31:04PM +0800, Peter Xu wrote: > Tree is pushed here for better reference and testing (online tree > includes monitor OOB series): > > https://github.com/xzpeter/qemu/tree/postcopy-recovery-support Hello, Patchew, Based-on: <20180124053957.29145-1-pet...@redhat.com> -- Peter Xu
Re: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery
On Fri, Feb 9, 2018 at 2:07 PM, Peter Xuwrote: > On Thu, Feb 08, 2018 at 03:25:21AM -0800, no-re...@patchew.org wrote: >> Hi, >> >> This series failed docker-mingw@fedora build test. Please find the testing >> commands and >> their output below. If you have Docker installed, you can probably reproduce >> it >> locally. > > For all the five patchew reports: I forgot to add based-on tag. This > series is based on monitor-oob series. OK. If you reply with a correct Based-on: tag, patchew will automatically retry to apply it. (I think it currently doesn't re-run the tests, but we could probably add such a feature to it, as a note to myself.) Fam > > -- > Peter Xu
Re: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery
On Thu, Feb 08, 2018 at 03:25:21AM -0800, no-re...@patchew.org wrote: > Hi, > > This series failed docker-mingw@fedora build test. Please find the testing > commands and > their output below. If you have Docker installed, you can probably reproduce > it > locally. For all the five patchew reports: I forgot to add based-on tag. This series is based on monitor-oob series. -- Peter Xu
Re: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery
Hi, This series failed docker-mingw@fedora build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. Type: series Message-id: 20180208103132.28452-1-pet...@redhat.com Subject: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 export J=8 time make docker-test-mingw@fedora === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' 9fef7a46b1 migration/hmp: add migrate_pause command e5bc8840cf migration/qmp: add command migrate-pause ae62f074ca hmp/migration: add migrate_recover command b6a9d72a90 qmp/migration: new command migrate-recover 9903aa7296 io: let watcher of the channel run in same ctx ef37cc9981 migration: init dst in migration_object_init too b9a7a6376d migration: final handshake for the resume 40d1c0e37c migration: setup ramstate for resume 4faada932e migration: synchronize dirty bitmap for resume 1c86b22e54 migration: introduce SaveVMHandlers.resume_prepare 99d5d3ec65 migration: new message MIG_RP_MSG_RESUME_ACK 011a3e5dcf migration: new cmd MIG_CMD_POSTCOPY_RESUME e8ea13af80 migration: new message MIG_RP_MSG_RECV_BITMAP 0527218572 migration: new cmd MIG_CMD_RECV_BITMAP 060b476de0 migration: wakeup dst ram-load-thread for recover 5c512af7ac migration: new state "postcopy-recover" 3c817a2d6a migration: rebuild channel on source 498feb31bf migration: pass MigrationState to migrate_init() 2bd90bc8c7 qmp: hmp: add migrate "resume" option 4310656e2e migration: allow fault thread to pause e5403449fa migration: allow send_rq to fail 82ff14b4eb migration: allow src return path to pause 27b5a83c3a migration: allow dst vm pause on postcopy e89132a741 migration: implement "postcopy-pause" src logic af8b068080 migration: new postcopy-pause state fb163f98cf migration: provide postcopy_fault_thread_notify() b399ae9ca4 migration: reuse mis->userfault_quit_fd fd22ce7d15 migration: better error handling with QEMUFile === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-j5ruvtlw/src/dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42' BUILD fedora GEN /var/tmp/patchew-tester-tmp-j5ruvtlw/src/docker-src.2018-02-08-06.23.42.29455/qemu.tar Cloning into '/var/tmp/patchew-tester-tmp-j5ruvtlw/src/docker-src.2018-02-08-06.23.42.29455/qemu.tar.vroot'... done. Your branch is up-to-date with 'origin/test'. Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-j5ruvtlw/src/docker-src.2018-02-08-06.23.42.29455/qemu.tar.vroot/dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42' Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into '/var/tmp/patchew-tester-tmp-j5ruvtlw/src/docker-src.2018-02-08-06.23.42.29455/qemu.tar.vroot/ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce' COPYRUNNER RUN test-mingw in qemu:fedora Packages installed: PyYAML-3.11-13.fc25.x86_64 SDL-devel-1.2.15-21.fc24.x86_64 bc-1.06.95-16.fc24.x86_64 bison-3.0.4-4.fc24.x86_64 bzip2-1.0.6-21.fc25.x86_64 ccache-3.3.4-1.fc25.x86_64 clang-3.9.1-2.fc25.x86_64 findutils-4.6.0-8.fc25.x86_64 flex-2.6.0-3.fc25.x86_64 gcc-6.4.1-1.fc25.x86_64 gcc-c++-6.4.1-1.fc25.x86_64 gettext-0.19.8.1-3.fc25.x86_64 git-2.9.5-3.fc25.x86_64 glib2-devel-2.50.3-1.fc25.x86_64 hostname-3.15-8.fc25.x86_64 libaio-devel-0.3.110-6.fc24.x86_64 libasan-6.4.1-1.fc25.x86_64 libfdt-devel-1.4.2-1.fc25.x86_64 libubsan-6.4.1-1.fc25.x86_64 make-4.1-6.fc25.x86_64 mingw32-SDL-1.2.15-7.fc24.noarch mingw32-bzip2-1.0.6-7.fc24.noarch mingw32-curl-7.47.0-1.fc24.noarch mingw32-glib2-2.50.3-1.fc25.noarch mingw32-gmp-6.1.1-1.fc25.noarch mingw32-gnutls-3.5.5-2.fc25.noarch mingw32-gtk2-2.24.31-2.fc25.noarch mingw32-gtk3-3.22.17-1.fc25.noarch mingw32-libjpeg-turbo-1.5.1-1.fc25.noarch mingw32-libpng-1.6.27-1.fc25.noarch mingw32-libssh2-1.4.3-5.fc24.noarch mingw32-libtasn1-4.9-1.fc25.noarch mingw32-nettle-3.3-1.fc25.noarch mingw32-pixman-0.34.0-1.fc25.noarch mingw32-pkg-config-0.28-6.fc24.x86_64 mingw64-SDL-1.2.15-7.fc24.noarch mingw64-bzip2-1.0.6-7.fc24.noarch mingw64-curl-7.47.0-1.fc24.noarch mingw64-glib2-2.50.3-1.fc25.noarch mingw64-gmp-6.1.1-1.fc25.noarch mingw64-gnutls-3.5.5-2.fc25.noarch mingw64-gtk2-2.24.31-2.fc25.noarch mingw64-gtk3-3.22.17-1.fc25.noarch mingw64-libjpeg-turbo-1.5.1-1.fc25.noarch mingw64-libpng-1.6.27-1.fc25.noarch mingw64-libssh2-1.4.3-5.fc24.noarch mingw64-libtasn1-4.9-1.fc25.noarch mingw64-nettle-3.3-1.fc25.noarch mingw64-pixman-0.34.0-1.fc25.noarch mingw64-pkg-config-0.28-6.fc24.x86_64 nettle-devel-3.3-1.fc25.x
Re: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery
Hi, This series failed docker-build@min-glib build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. Type: series Message-id: 20180208103132.28452-1-pet...@redhat.com Subject: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 export J=8 time make docker-test-build@min-glib === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' 9fef7a46b1 migration/hmp: add migrate_pause command e5bc8840cf migration/qmp: add command migrate-pause ae62f074ca hmp/migration: add migrate_recover command b6a9d72a90 qmp/migration: new command migrate-recover 9903aa7296 io: let watcher of the channel run in same ctx ef37cc9981 migration: init dst in migration_object_init too b9a7a6376d migration: final handshake for the resume 40d1c0e37c migration: setup ramstate for resume 4faada932e migration: synchronize dirty bitmap for resume 1c86b22e54 migration: introduce SaveVMHandlers.resume_prepare 99d5d3ec65 migration: new message MIG_RP_MSG_RESUME_ACK 011a3e5dcf migration: new cmd MIG_CMD_POSTCOPY_RESUME e8ea13af80 migration: new message MIG_RP_MSG_RECV_BITMAP 0527218572 migration: new cmd MIG_CMD_RECV_BITMAP 060b476de0 migration: wakeup dst ram-load-thread for recover 5c512af7ac migration: new state "postcopy-recover" 3c817a2d6a migration: rebuild channel on source 498feb31bf migration: pass MigrationState to migrate_init() 2bd90bc8c7 qmp: hmp: add migrate "resume" option 4310656e2e migration: allow fault thread to pause e5403449fa migration: allow send_rq to fail 82ff14b4eb migration: allow src return path to pause 27b5a83c3a migration: allow dst vm pause on postcopy e89132a741 migration: implement "postcopy-pause" src logic af8b068080 migration: new postcopy-pause state fb163f98cf migration: provide postcopy_fault_thread_notify() b399ae9ca4 migration: reuse mis->userfault_quit_fd fd22ce7d15 migration: better error handling with QEMUFile === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-3cs0psl3/src/dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42' BUILD min-glib GEN /var/tmp/patchew-tester-tmp-3cs0psl3/src/docker-src.2018-02-08-06.29.23.2507/qemu.tar Cloning into '/var/tmp/patchew-tester-tmp-3cs0psl3/src/docker-src.2018-02-08-06.29.23.2507/qemu.tar.vroot'... done. Checking out files: 48% (2785/5781) Checking out files: 49% (2833/5781) Checking out files: 50% (2891/5781) Checking out files: 51% (2949/5781) Checking out files: 52% (3007/5781) Checking out files: 53% (3064/5781) Checking out files: 54% (3122/5781) Checking out files: 55% (3180/5781) Checking out files: 56% (3238/5781) Checking out files: 57% (3296/5781) Checking out files: 58% (3353/5781) Checking out files: 59% (3411/5781) Checking out files: 60% (3469/5781) Checking out files: 61% (3527/5781) Checking out files: 62% (3585/5781) Checking out files: 63% (3643/5781) Checking out files: 64% (3700/5781) Checking out files: 65% (3758/5781) Checking out files: 66% (3816/5781) Checking out files: 67% (3874/5781) Checking out files: 68% (3932/5781) Checking out files: 69% (3989/5781) Checking out files: 70% (4047/5781) Checking out files: 71% (4105/5781) Checking out files: 72% (4163/5781) Checking out files: 73% (4221/5781) Checking out files: 74% (4278/5781) Checking out files: 75% (4336/5781) Checking out files: 76% (4394/5781) Checking out files: 77% (4452/5781) Checking out files: 78% (4510/5781) Checking out files: 79% (4567/5781) Checking out files: 80% (4625/5781) Checking out files: 81% (4683/5781) Checking out files: 82% (4741/5781) Checking out files: 83% (4799/5781) Checking out files: 84% (4857/5781) Checking out files: 85% (4914/5781) Checking out files: 86% (4972/5781) Checking out files: 87% (5030/5781) Checking out files: 88% (5088/5781) Checking out files: 89% (5146/5781) Checking out files: 90% (5203/5781) Checking out files: 91% (5261/5781) Checking out files: 92% (5319/5781) Checking out files: 93% (5377/5781) Checking out files: 94% (5435/5781) Checking out files: 95% (5492/5781) Checking out files: 96% (5550/5781) Checking out files: 97% (5608/5781) Checking out files: 98% (5666/5781) Checking out files: 99% (5724/5781) Checking out files: 100% (5781/5781) Checking out files: 100% (5781/5781), done. Your branch is up-to-date with 'origin/test'. Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-3cs0psl3/src/do
Re: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery
Hi, This series failed build test on s390x host. Please find the details below. Type: series Message-id: 20180208103132.28452-1-pet...@redhat.com Subject: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery === TEST SCRIPT BEGIN === #!/bin/bash # Testing script will be invoked under the git checkout with # HEAD pointing to a commit that has the patches applied on top of "base" # branch set -e echo "=== ENV ===" env echo "=== PACKAGES ===" rpm -qa echo "=== TEST BEGIN ===" CC=$HOME/bin/cc INSTALL=$PWD/install BUILD=$PWD/build echo -n "Using CC: " realpath $CC mkdir -p $BUILD $INSTALL SRC=$PWD cd $BUILD $SRC/configure --cc=$CC --prefix=$INSTALL make -j4 # XXX: we need reliable clean up # make check -j4 V=1 make install === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 From https://github.com/patchew-project/qemu 1e5caa0e23..b256b89c63 master -> master t [tag update]patchew/20180207001615.1156.10547.st...@gimli.home -> patchew/20180207001615.1156.10547.st...@gimli.home * [new tag] patchew/20180208103132.28452-1-pet...@redhat.com -> patchew/20180208103132.28452-1-pet...@redhat.com Auto packing the repository in background for optimum performance. See "git help gc" for manual housekeeping. Switched to a new branch 'test' 9fef7a46b1 migration/hmp: add migrate_pause command e5bc8840cf migration/qmp: add command migrate-pause ae62f074ca hmp/migration: add migrate_recover command b6a9d72a90 qmp/migration: new command migrate-recover 9903aa7296 io: let watcher of the channel run in same ctx ef37cc9981 migration: init dst in migration_object_init too b9a7a6376d migration: final handshake for the resume 40d1c0e37c migration: setup ramstate for resume 4faada932e migration: synchronize dirty bitmap for resume 1c86b22e54 migration: introduce SaveVMHandlers.resume_prepare 99d5d3ec65 migration: new message MIG_RP_MSG_RESUME_ACK 011a3e5dcf migration: new cmd MIG_CMD_POSTCOPY_RESUME e8ea13af80 migration: new message MIG_RP_MSG_RECV_BITMAP 0527218572 migration: new cmd MIG_CMD_RECV_BITMAP 060b476de0 migration: wakeup dst ram-load-thread for recover 5c512af7ac migration: new state "postcopy-recover" 3c817a2d6a migration: rebuild channel on source 498feb31bf migration: pass MigrationState to migrate_init() 2bd90bc8c7 qmp: hmp: add migrate "resume" option 4310656e2e migration: allow fault thread to pause e5403449fa migration: allow send_rq to fail 82ff14b4eb migration: allow src return path to pause 27b5a83c3a migration: allow dst vm pause on postcopy e89132a741 migration: implement "postcopy-pause" src logic af8b068080 migration: new postcopy-pause state fb163f98cf migration: provide postcopy_fault_thread_notify() b399ae9ca4 migration: reuse mis->userfault_quit_fd fd22ce7d15 migration: better error handling with QEMUFile === OUTPUT BEGIN === === ENV === LANG=en_US.UTF-8 XDG_SESSION_ID=47049 USER=fam PWD=/var/tmp/patchew-tester-tmp-wyn6ex2x/src HOME=/home/fam SHELL=/bin/sh SHLVL=2 PATCHEW=/home/fam/patchew/patchew-cli -s http://patchew.org --nodebug LOGNAME=fam DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1012/bus XDG_RUNTIME_DIR=/run/user/1012 PATH=/usr/bin:/bin _=/usr/bin/env === PACKAGES === gpg-pubkey-873529b8-54e386ff glibc-debuginfo-common-2.24-10.fc25.s390x fedora-release-26-1.noarch dejavu-sans-mono-fonts-2.35-4.fc26.noarch xemacs-filesystem-21.5.34-22.20170124hgf412e9f093d4.fc26.noarch bash-4.4.12-7.fc26.s390x freetype-2.7.1-9.fc26.s390x libSM-1.2.2-5.fc26.s390x libmpc-1.0.2-6.fc26.s390x libaio-0.3.110-7.fc26.s390x libverto-0.2.6-7.fc26.s390x perl-Scalar-List-Utils-1.48-1.fc26.s390x iptables-libs-1.6.1-2.fc26.s390x perl-threads-shared-1.57-1.fc26.s390x p11-kit-trust-0.23.9-2.fc26.s390x tcl-8.6.6-2.fc26.s390x libxshmfence-1.2-4.fc26.s390x expect-5.45-23.fc26.s390x perl-Thread-Queue-3.12-1.fc26.noarch perl-encoding-2.19-6.fc26.s390x keyutils-1.5.10-1.fc26.s390x gmp-devel-6.1.2-4.fc26.s390x enchant-1.6.0-16.fc26.s390x net-snmp-libs-5.7.3-17.fc26.s390x python-gobject-base-3.24.1-1.fc26.s390x python3-distro-1.0.3-1.fc26.noarch python3-enchant-1.6.10-1.fc26.noarch python-lockfile-0.11.0-6.fc26.noarch python2-pyparsing-2.1.10-3.fc26.noarch python2-lxml-4.1.1-1.fc26.s390x librados2-10.2.7-2.fc26.s390x trousers-lib-0.3.13-7.fc26.s390x libpaper-1.1.24-14.fc26.s390x libdatrie-0.2.9-4.fc26.s390x libsoup-2.58.2-1.fc26.s390x passwd-0.79-9.fc26.s390x bind99-libs-9.9.10-3.P3.fc26.s390x python3-rpm-4.13.0.2-1.fc26.s390x mock-core-configs-27.4-1.fc26.noarch systemd-233-7.fc26.s390x virglrenderer-0.6.0-1.20170210git76b3da97b.fc26.s390x s390utils-ziomon-1.36.1-3.fc26.s390x s390utils-osasnmpd-1.36.1-3.fc26.s390x libXrandr-1.5.1-2.fc26.s390x libglvnd-glx-1.0.0-1.fc26.s390x texlive-ifxetex-svn19685.0.5-33.fc26.2.noarch texlive-psnfss-svn33946.9.2a-33.fc26.2.noarch texlive-dvipdfmx-def-svn40328-33.fc26.2.noarch texlive-natbib-svn20668.8.31b-33.fc26.2.noarch t
Re: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery
Hi, This series failed docker-quick@centos6 build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. Type: series Message-id: 20180208103132.28452-1-pet...@redhat.com Subject: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 export J=8 time make docker-test-quick@centos6 === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' 9fef7a46b1 migration/hmp: add migrate_pause command e5bc8840cf migration/qmp: add command migrate-pause ae62f074ca hmp/migration: add migrate_recover command b6a9d72a90 qmp/migration: new command migrate-recover 9903aa7296 io: let watcher of the channel run in same ctx ef37cc9981 migration: init dst in migration_object_init too b9a7a6376d migration: final handshake for the resume 40d1c0e37c migration: setup ramstate for resume 4faada932e migration: synchronize dirty bitmap for resume 1c86b22e54 migration: introduce SaveVMHandlers.resume_prepare 99d5d3ec65 migration: new message MIG_RP_MSG_RESUME_ACK 011a3e5dcf migration: new cmd MIG_CMD_POSTCOPY_RESUME e8ea13af80 migration: new message MIG_RP_MSG_RECV_BITMAP 0527218572 migration: new cmd MIG_CMD_RECV_BITMAP 060b476de0 migration: wakeup dst ram-load-thread for recover 5c512af7ac migration: new state "postcopy-recover" 3c817a2d6a migration: rebuild channel on source 498feb31bf migration: pass MigrationState to migrate_init() 2bd90bc8c7 qmp: hmp: add migrate "resume" option 4310656e2e migration: allow fault thread to pause e5403449fa migration: allow send_rq to fail 82ff14b4eb migration: allow src return path to pause 27b5a83c3a migration: allow dst vm pause on postcopy e89132a741 migration: implement "postcopy-pause" src logic af8b068080 migration: new postcopy-pause state fb163f98cf migration: provide postcopy_fault_thread_notify() b399ae9ca4 migration: reuse mis->userfault_quit_fd fd22ce7d15 migration: better error handling with QEMUFile === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-hz60dt17/src/dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42' BUILD centos6 GEN /var/tmp/patchew-tester-tmp-hz60dt17/src/docker-src.2018-02-08-06.26.47.32024/qemu.tar Cloning into '/var/tmp/patchew-tester-tmp-hz60dt17/src/docker-src.2018-02-08-06.26.47.32024/qemu.tar.vroot'... done. Your branch is up-to-date with 'origin/test'. Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-hz60dt17/src/docker-src.2018-02-08-06.26.47.32024/qemu.tar.vroot/dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42' Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into '/var/tmp/patchew-tester-tmp-hz60dt17/src/docker-src.2018-02-08-06.26.47.32024/qemu.tar.vroot/ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce' COPYRUNNER RUN test-quick in qemu:centos6 Packages installed: SDL-devel-1.2.14-7.el6_7.1.x86_64 bison-2.4.1-5.el6.x86_64 bzip2-devel-1.0.5-7.el6_0.x86_64 ccache-3.1.6-2.el6.x86_64 csnappy-devel-0-6.20150729gitd7bc683.el6.x86_64 flex-2.5.35-9.el6.x86_64 gcc-4.4.7-18.el6.x86_64 gettext-0.17-18.el6.x86_64 git-1.7.1-9.el6_9.x86_64 glib2-devel-2.28.8-9.el6.x86_64 libepoxy-devel-1.2-3.el6.x86_64 libfdt-devel-1.4.0-1.el6.x86_64 librdmacm-devel-1.0.21-0.el6.x86_64 lzo-devel-2.03-3.1.el6_5.1.x86_64 make-3.81-23.el6.x86_64 mesa-libEGL-devel-11.0.7-4.el6.x86_64 mesa-libgbm-devel-11.0.7-4.el6.x86_64 package g++ is not installed pixman-devel-0.32.8-1.el6.x86_64 spice-glib-devel-0.26-8.el6.x86_64 spice-server-devel-0.12.4-16.el6.x86_64 tar-1.23-15.el6_8.x86_64 vte-devel-0.25.1-9.el6.x86_64 xen-devel-4.6.6-2.el6.x86_64 zlib-devel-1.2.3-29.el6.x86_64 Environment variables: PACKAGES=bison bzip2-devel ccache csnappy-devel flex g++ gcc gettext git glib2-devel libepoxy-devel libfdt-devel librdmacm-devel lzo-devel make mesa-libEGL-devel mesa-libgbm-devel pixman-devel SDL-devel spice-glib-devel spice-server-devel tar vte-devel xen-devel zlib-devel HOSTNAME=148c7b7b9879 MAKEFLAGS= -j8 J=8 CCACHE_DIR=/var/tmp/ccache EXTRA_CONFIGURE_OPTS= V= SHOW_ENV=1 PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ TARGET_LIST= SHLVL=1 HOME=/root TEST_DIR=/tmp/qemu-test FEATURES= dtc DEBUG= _=/usr/bin/env Configure options: --enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install No C++ compiler available; disabling C++ spec
Re: [Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery
On Thu, Feb 08, 2018 at 06:31:04PM +0800, Peter Xu wrote: [...] > 6. On source, manually trigger a "fake network down" using >"migrate-cancel" command: > > {"execute": "migrate_cancel"} > {"return": {}} > > During postcopy, it'll not really cancel the migration, but pause > it. On both sides, we should see this on stderr: > > qemu-system-x86_64: Detected IO failure for postcopy. Migration paused. > > It means now both sides are in postcopy-pause state. Sorry I forgot to update this part. We need to use migrate-pause in this version to explicitly pause the migration. If on source: { "execute": "migrate-pause" } If on destination, don't forget to run with OOB: { "execute": "migrate-pause", "id": "pause-cmd", "control": { "run-oob": true } } -- Peter Xu
[Qemu-devel] [PATCH v6 00/28] Migration: postcopy failure recovery
Tree is pushed here for better reference and testing (online tree includes monitor OOB series): https://github.com/xzpeter/qemu/tree/postcopy-recovery-support This version added back the migrate-pause command, and let it to be run on either side of migration. Meanwhile, fixed a tricky error on source that RAMState.f is not setup correctly after resume. >From this version, testing is carried out using the mig_mon tool with command during migration: $ mig_mon mm_dirty 512 It means dirtying 512MB memory using maximum dirty rate, which will also verify the memory during dirtying. The tool can be found at: https://github.com/xzpeter/clibs/blob/master/bsd/mig_mon/mig_mon.c To test this two series altogether, please checkout above tree and build. Note: to test on small and single host, one need to disable full bandwidth postcopy migration otherwise it'll complete very fast. Basically a simple patch like this would help: diff --git a/migration/migration.c b/migration/migration.c index 4de3b551fe..c0206023d7 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1904,7 +1904,7 @@ static int postcopy_start(MigrationState *ms, bool *old_vm_running) * will notice we're in POSTCOPY_ACTIVE and not actually * wrap their state up here */ -qemu_file_set_rate_limit(ms->to_dst_file, INT64_MAX); +// qemu_file_set_rate_limit(ms->to_dst_file, INT64_MAX); if (migrate_postcopy_ram()) { /* Ping just for debugging, helps line traces up */ qemu_savevm_send_ping(ms->to_dst_file, 2); This patch is included already in above github tree. Please feel free to drop this patch when want to test on big machines and between real hosts. Detailed Test Procedures (QMP only) === 1. start source QEMU. $qemu -M q35,kernel-irqchip=split -enable-kvm -snapshot \ -smp 4 -m 1G -qmp stdio \ -name peter-vm,debug-threads=on \ -netdev user,id=net0 \ -device e1000,netdev=net0 \ -global migration.x-max-bandwidth=4096 \ -global migration.x-postcopy-ram=on \ /images/fedora-25.qcow2 2. start destination QEMU. $qemu -M q35,kernel-irqchip=split -enable-kvm -snapshot \ -smp 4 -m 1G -qmp stdio \ -name peter-vm,debug-threads=on \ -netdev user,id=net0 \ -device e1000,netdev=net0 \ -global migration.x-max-bandwidth=4096 \ -global migration.x-postcopy-ram=on \ -incoming tcp:0.0.0.0: \ /images/fedora-25.qcow2 3. On source, do QMP handshake as normal: {"execute": "qmp_capabilities"} {"return": {}} 4. On destination, do QMP handshake to enable OOB: {"execute": "qmp_capabilities", "arguments": { "enable": [ "oob" ] } } {"return": {}} 5. On source, trigger initial migrate command, switch to postcopy: {"execute": "migrate", "arguments": { "uri": "tcp:localhost:" } } {"return": {}} {"execute": "query-migrate"} {"return": {"expected-downtime": 300, "status": "active", ...}} {"execute": "migrate-start-postcopy"} {"return": {}} {"timestamp": {"seconds": 1512454728, "microseconds": 768096}, "event": "STOP"} {"execute": "query-migrate"} {"return": {"expected-downtime": 44472, "status": "postcopy-active", ...}} 6. On source, manually trigger a "fake network down" using "migrate-cancel" command: {"execute": "migrate_cancel"} {"return": {}} During postcopy, it'll not really cancel the migration, but pause it. On both sides, we should see this on stderr: qemu-system-x86_64: Detected IO failure for postcopy. Migration paused. It means now both sides are in postcopy-pause state. 7. (Optional) On destination side, let's try to hang the main thread using the new x-oob-test command, providing a "lock=true" param: {"execute": "x-oob-test", "id": "lock-dispatcher-cmd", "arguments": { "lock": true } } After sending this command, we should not see any "return", because main thread is blocked already. But we can still use the monitor since the monitor now has dedicated IOThread. 8. On destination side, provide a new incoming port using the new command "migrate-recover" (note that if step 7 is carried out, we _must_ use OOB form, otherwise the command will hang. With OOB, this command will return immediately): {"execute": "migrate-recover", "id": "recover-cmd", "arguments": { "uri": "tcp:localhost:5556" }, "control": { "run-oob": true } } {"timestamp": {"seconds": 1512454976, "microseconds": 186053}, "event": "MIGRATION", "data": {"status": "setup"}} {"return": {}, "id": "recover-cmd"} We can see that the command will success even if main thread is locked up. 9. (Optional) This step is only needed if step 7 is carried out. On destination, let's unlock the main thread before resuming the migration, this time with "lock=false" to unlock the main thread (since system running needs the main thread). Note that we _must_ use OOB command here too: {"execute": "x-oob-test", "id":