Re: [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT)

2016-09-12 Thread Hailiang Zhang

On 2016/9/10 16:21, Amit Shah wrote:

Hi,

On (Fri) 09 Sep 2016 [14:45:36], Hailiang Zhang wrote:

ping ?


Juan will start reviewing and picking patches soon.



Great, and the pull request of block replication series has
been sent by Stefan, so there is no obstacle to impede this
series to be merged into upstream. Thanks very much ;)



.






Re: [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT)

2016-09-10 Thread Amit Shah
Hi,

On (Fri) 09 Sep 2016 [14:45:36], Hailiang Zhang wrote:
> ping ?

Juan will start reviewing and picking patches soon.




Re: [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT)

2016-09-09 Thread Hailiang Zhang

ping ?

On 2016/9/1 11:24, zhanghailiang wrote:

This is the 19th version of COLO frame series.

According to the suggestion of Juan and Amit,
I dropped parts of the optimization patches to make it easier for review.

Besides, I discarded the network related patches since the development of
COLO proxy goes well, It is very likely to be merged in QEMU 2.8,
Please see [PATCH V12 02/10] colo-compare: introduce colo compare initialization
for more information. The original network related patches in this series are
to buffer the network packets till a checkpointing be successfully achieved,
just like Remus does in XEN, but these patches will be reverted in COLO compare
series. So here, it is unnecessary to add them.

You can still test this series like before. Or refer to docs/COLO-FT.txt.

It is based on 'Block replication' series which has been merged in Stefan's
branch https://github.com/stefanha/qemu/commits/block-next.

The complete codes can be found from the link:
https://github.com/coloft/qemu/commits/colo-v4.1-periodic-mode

Please review. Thanks ;)

TODO:
1. Checkpoint based on proxy in qemu
2. The capability of continuous FT
3. Optimize the VM's downtime during checkpoint

v19:
  - Add documentation about COLO (patch 21)
  - Dropped network related patches
  - Fix parts of patches' title and comments

zhanghailiang (22):
   migration: Introduce capability 'x-colo' to migration
   COLO: migrate COLO related info to secondary node
   migration: Enter into COLO mode after migration if COLO is enabled
   migration: Switch to COLO process after finishing loadvm
   COLO: Establish a new communicating path for COLO
   COLO: Introduce checkpointing protocol
   COLO: Add a new RunState RUN_STATE_COLO
   COLO: Send PVM state to secondary side when do checkpoint
   COLO: Load VMState into QIOChannelBuffer before restore it
   COLO: Add checkpoint-delay parameter for migrate-set-parameters
   COLO: Synchronize PVM's state to SVM periodically
   COLO: Add 'x-colo-lost-heartbeat' command to trigger failover
   COLO: Introduce state to record failover process
   COLO: Implement the process of failover for primary VM
   COLO: Implement failover work for secondary VM
   COLO: Shutdown related socket fd while do failover
   COLO: Don't do failover while loading VM's state
   COLO: Handle shutdown command for VM in COLO state
   COLO: Update the global runstate after going into colo state
   COLO: Add block replication into colo process
   docs: Add documentation for COLO feature
   configure: Support enable/disable COLO feature

  configure |  11 +
  docs/COLO-FT.txt  | 190 
  hmp-commands.hx   |  15 +
  hmp.c |  15 +
  hmp.h |   1 +
  include/migration/colo.h  |  40 +++
  include/migration/failover.h  |  33 ++
  include/migration/migration.h |  11 +
  include/sysemu/sysemu.h   |   3 +
  migration/Makefile.objs   |   2 +
  migration/colo-comm.c |  72 +
  migration/colo-failover.c |  84 +
  migration/colo.c  | 694 ++
  migration/migration.c |  86 +-
  migration/ram.c   |  37 ++-
  migration/trace-events|   6 +
  qapi-schema.json  |  88 +-
  qmp-commands.hx   |  24 +-
  stubs/Makefile.objs   |   1 +
  stubs/migration-colo.c|  51 
  vl.c  |  30 +-
  21 files changed, 1468 insertions(+), 26 deletions(-)
  create mode 100644 docs/COLO-FT.txt
  create mode 100644 include/migration/colo.h
  create mode 100644 include/migration/failover.h
  create mode 100644 migration/colo-comm.c
  create mode 100644 migration/colo-failover.c
  create mode 100644 migration/colo.c
  create mode 100644 stubs/migration-colo.c






Re: [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT)

2016-08-31 Thread no-reply
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.

Subject: [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain 
LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT)
Type: series
Message-id: 1472700265-16760-1-git-send-email-zhang.zhanghaili...@huawei.com

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
make J=8 docker-test-quick@centos6
make J=8 docker-test-mingw@fedora
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
42c65a0 configure: Support enable/disable COLO feature
4e337ab docs: Add documentation for COLO feature
e54092d COLO: Add block replication into colo process
d58788e COLO: Update the global runstate after going into colo state
d16cb12 COLO: Handle shutdown command for VM in COLO state
f310213 COLO: Don't do failover while loading VM's state
fb716cc COLO: Shutdown related socket fd while do failover
6a50027 COLO: Implement failover work for secondary VM
ecc5fd3 COLO: Implement the process of failover for primary VM
ac596c7 COLO: Introduce state to record failover process
4da078e COLO: Add 'x-colo-lost-heartbeat' command to trigger failover
4b1c6e6 COLO: Synchronize PVM's state to SVM periodically
c29d4f3 COLO: Add checkpoint-delay parameter for migrate-set-parameters
672e55a COLO: Load VMState into QIOChannelBuffer before restore it
ec8130b COLO: Send PVM state to secondary side when do checkpoint
ca88227 COLO: Add a new RunState RUN_STATE_COLO
a3c6044 COLO: Introduce checkpointing protocol
4772fcd COLO: Establish a new communicating path for COLO
05e2b8c migration: Switch to COLO process after finishing loadvm
b970b41 migration: Enter into COLO mode after migration if COLO is enabled
4c33192 COLO: migrate COLO related info to secondary node
d596fff migration: Introduce capability 'x-colo' to migration

=== 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
  ARCHIVE qemu.tgz
  ARCHIVE dtc.tgz
  COPY RUNNER
  RUN test-quick in centos6
No C++ compiler available; disabling C++ specific optional code
Install prefix/tmp/qemu-test/src/tests/docker/install
BIOS directory/tmp/qemu-test/src/tests/docker/install/share/qemu
binary directory  /tmp/qemu-test/src/tests/docker/install/bin
library directory /tmp/qemu-test/src/tests/docker/install/lib
module directory  /tmp/qemu-test/src/tests/docker/install/lib/qemu
libexec directory /tmp/qemu-test/src/tests/docker/install/libexec
include directory /tmp/qemu-test/src/tests/docker/install/include
config directory  /tmp/qemu-test/src/tests/docker/install/etc
local state directory   /tmp/qemu-test/src/tests/docker/install/var
Manual directory  /tmp/qemu-test/src/tests/docker/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 -pthread 
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -g 
QEMU_CFLAGS   -I/usr/include/pixman-1-fPIE -DPIE -m64 -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  -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
COLO support  yes
RDMA support